Metode clearQueue
Metode clearQueue memungkinkan kita menghapus dari
antrian semua fungsi yang belum dijalankan.
Sintaks
Ini adalah cara kita membersihkan antrian fungsi. Kita dapat memberikan
parameter opsional berupa nama antrian
dalam bentuk string (defaultnya adalah fx - antrian
efek standar). Jika tidak memberikan parameter apa pun,
maka semua fungsi yang tersisa dalam antrian fx akan dihapus:
.clearQueue([nama antrian]);
Metode ini serupa dengan metode
stop. Namun,
jika metode stop hanya dapat bekerja dengan animasi,
maka clearQueue memungkinkan bekerja dengan antrian jQuery apa pun
yang telah ditambahkan menggunakan metode
queue.
Contoh
Mari saat tombol #start ditekan,
kita jalankan animasinya. Saat tombol
#stop ditekan, kita akan menghentikan animasi
dan membersihkan antrian menggunakan metode
clearQueue. Saat #start ditekan lagi,
animasi akan dimulai dari awal:
<button id="start">start</button>
<button id="stop">stop</button>
<div></div>
div {
position: absolute;
margin: 3px;
width: 50px;
height: 50px;
left: 0px;
top: 30px;
background: red;
display: none;
}
div.newcolor {
background: green;
}
$('#start').click(function() {
let myDiv = $('div');
myDiv.show('slow');
myDiv.animate({
left: '+=200'
}, 5000);
myDiv.queue(function() {
let that = $(this);
that.addClass('newcolor');
that.dequeue();
});
myDiv.animate({
left: '-=200'
}, 1500);
myDiv.queue(function() {
let that = $(this);
that.removeClass('newcolor');
that.dequeue();
});
myDiv.slideUp();
});
$('#stop').click(function() {
let myDiv = $('div');
myDiv.clearQueue();
myDiv.stop();
});