Javascript 仅当尚未运行jQuery UI时才运行动画

Javascript 仅当尚未运行jQuery UI时才运行动画,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我在这样的点击事件中使用了 $("#myelm").click(function(){ $(".wlbutton").children("span.new").effect( "bounce", "slow"); }); 我只想在效果尚未运行时运行它。因此,如果你快速点击两次,它只会在第一次点击时起作用。我怎样才能做到这一点 我尝试用jQuery的.stop()清除队列,但没有任何运气 使用:animated选择器检查特定元素是否正在设置动画。如果当前正在设置动画,只需让单击事件忽略即

我在这样的点击事件中使用了

$("#myelm").click(function(){
    $(".wlbutton").children("span.new").effect( "bounce", "slow");
});
我只想在效果尚未运行时运行它。因此,如果你快速点击两次,它只会在第一次点击时起作用。我怎样才能做到这一点


我尝试用jQuery的.stop()清除队列,但没有任何运气

使用
:animated
选择器检查特定元素是否正在
设置动画。如果当前正在设置动画,只需让
单击
事件忽略即可

试试看

另一种方法是使用
.stop()


使用
:animated
选择器检查特定元素是否正在设置动画。如果当前正在设置动画,只需让
单击
事件忽略即可

试试看

另一种方法是使用
.stop()


您可以使用
.not
对其进行过滤:

$('#myelm').click(function(){
   $('.wlbutton').children('span.new').not(':animated').effect('bounce', 'slow');
});

但是,我会使用
.is
函数来检查,而不是使用过滤器,因为代码可读性您可以使用
.not
来过滤它:

$('#myelm').click(function(){
   $('.wlbutton').children('span.new').not(':animated').effect('bounce', 'slow');
});

但是,我会使用
.is
函数来检查,而不是使用过滤器,因为代码可读性

我已经尝试了这两种方法,但都不起作用。这是一个提琴@daker,我刚刚提供了一个演示,请访问。我已经尝试了这两种方法,但都不起作用。这是一把小提琴@daker,我刚刚提供了一个演示,请访问。
$('#myelm').click(function(){
   $('.wlbutton').children('span.new').not(':animated').effect('bounce', 'slow');
});