Я использую jQuery UI Bounce Effect для события click, подобного этому
$("#myelm").click(function(){
$(".wlbutton").children("span.new").effect( "bounce", "slow");
});
Я бы хотел запустить эффект только в том случае, если он еще не запущен. Поэтому, если вы дважды щелкнете, это будет действовать только при первом нажатии. Как я могу это достичь?
Я попытался очистить очередь с помощью jQuery.stop() без везения.
Вы можете использовать .not
для фильтрации:
$('#myelm').click(function(){
$('.wlbutton').children('span.new').not(':animated').effect('bounce', 'slow');
});
Однако я бы использовал .is
функцию для проверки вместо фильтра из-за чтения кода
Используйте :animated
селектор, чтобы проверить, является ли конкретный элемент animating
или нет. Если он в настоящее время становится анимированным, просто позвольте этому событию click
игнорировать.
Пытаться,
$("#myelm").click(function(){
var xEle = $(".wlbutton").children("span.new");
if(xEle.is(':animated')) { return; }
xEle.effect( "bounce", "slow");
});
Другой способ - использовать .stop()
.
$("#myelm").click(function(){
$(".wlbutton").children("span.new").stop().effect( "bounce", "slow");
});