Усули clearQueue
Усули clearQueue ба мо имкон медиҳад, ки аз
навбат ҳамаи функсияҳоеро, ки оғоз нашудаанд, нест кунем.
Синтаксис
Мо бо ин роҳ метавонем навбати функсияҳоро тоза кунем. Метавонем
параметри ихтиёрӣ - номи навбатро
дар шакли сатр (ба таври пешфарз fx - навбати
стандартии таъсирҳо) гузаронем.
Агар ягон параметр нагузаронем, пас аз навбати fx ҳамаи
функсияҳои боқимонда нест карда мешаванд:
.clearQueue([номи навбат]);
Ин усул ба усули
stop монанд аст. Аммо,
агари он танҳо бо аниматсия кор кунад,
clearQueue имкон медиҳад, ки бо ҳар гуна навбати
jQuery, ки бо усули
queue илова карда шуда бошад, кор кардан мумкин аст.
Намуна
Биёед ҳангоми пахш кардани тугмаи #start,
мо аниматсияхоро оғоз кунем. Ҳангоми пахш кардани
тугмаи #stop мо аниматсияро бозмедорем
ва навбатро бо ёрии усули
clearQueue тоза мекунем. Ҳангоми такроран пахш кардани
#start аниматсия аз нав оғоз мешавад:
<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();
});