仅在尚未运行jQuery UI的情况下运行动画
run animation only if not already running jQuery UI
我在像这样的点击事件上使用jQuery UI的反弹效果
$("#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");
});
另一种方法是使用CCD_ 6。
$("#myelm").click(function(){
$(".wlbutton").children("span.new").stop().effect( "bounce", "slow");
});
演示
相关文章:
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- 在php中不运行java脚本的情况下重定向页面
- 在禁用浏览器flash插件的情况下运行Karma测试
- 在不加载页面的情况下运行javascript
- CSS转换获胜't在没有“setTimeout”的情况下运行
- CSS 转换不会在没有 setTimeout 的情况下运行
- 我的javascript不会在没有警报的情况下运行
- Apache Cordova:在不启动浏览器应用程序的情况下运行Cordova运行浏览器
- 强pm不会在NODE_ENV=生产的情况下运行
- Javascript在不打算运行的情况下运行多次
- 在不安装Zend优化器的情况下运行php文件
- 如何在没有缓存/cookie的情况下运行/调试Web应用程序项目
- 仅在尚未运行jQuery UI的情况下运行动画
- 如何在不停止的情况下永远运行node-js
- 如何在启用ES6功能的情况下运行Node.js应用程序
- 如何在没有网络工作者的情况下运行多个脚本
- 可以插入<脚本>标记可以在不使用JavaScript中的eval的情况下多次运行
- 节点包因果报应没有在没有信息的情况下运行
- 在不重新运行jquery验证的情况下检查表单是否有效
- Bxslider预加载程序在没有图像的情况下以无限循环运行