Kaedah clearQueue
Kaedah clearQueue membolehkan kita mengeluarkan daripada
barisan semua fungsi yang belum dilaksanakan.
Sintaks
Beginilah cara kita membersihkan barisan fungsi. Kita boleh menghantar
nama barisan sebagai parameter pilihan
dalam bentuk rentetan (lalai ialah fx - barisan
kesan standard). Jika tiada parameter
dihantar, semua fungsi yang tinggal dalam barisan fx
akan dikeluarkan:
.clearQueue([nama barisan]);
Kaedah ini adalah setara dengan kaedah
stop. Tetapi,
jika kaedah terakhir hanya boleh berfungsi dengan animasi,
clearQueue membolehkan kerja dengan sebarang barisan
jQuery, yang telah ditambah oleh kaedah
queue.
Contoh
Mari apabila butang #start ditekan,
kita akan melancarkan animasi. Apabila butang
#stop ditekan, kita akan menghentikan animasi
dan membersihkan barisan menggunakan kaedah
clearQueue. Apabila #start ditekan sekali lagi,
animasi akan bermula semula:
<button id="start">mula</button>
<button id="stop">berhenti</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();
});