jQuery动画连续触发、滞后反复执行解决办法

jQuery中slideUp 、slideDown、animate等动画运用时,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,其表现不雅。

则解决办法:

1、在触发元素上的事件设置为延迟处理, 即可避免滞后反复执行的问题(使用setTimeout)

2、在触发元素的事件时预先停止所有的动画,再执行相应的动画事件(使用stop)

jquery stop:

//语法结构    

$("#div").stop();//停止当前动画,继续下一个动画 

$("#div").stop(true);//清除元素的所有动画       

$("#div").stop(false, true);//让当前动画直接到达末状态 ,继续下一个动画

$("#div").stop(true, true);//清除元素的所有动画,让当前动画直接到达末状态

本人一般推荐使用第二种方法 

$("#div").stop().animate({width:"100px"},100);

时间: 2024-12-01 16:40:09

jQuery动画连续触发、滞后反复执行解决办法的相关文章

SVN cleanup操作反复失败解决办法 (转载)

SVN cleanup操作反复失败解决办法 2014-11-21 11:12:24 标签:SVN cleanup sqlite3 work_queue 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://flyingcat2013.blog.51cto.com/7061638/1580692 今天在更新项目的时候遇到一个问题,按惯例要cleanup才能重新更新.但是很不幸,在cleanup的时候又遇到了问题! 1    svn c

jquery IE6 select.val() bug报错解决办法

原文地址:http://hi.baidu.com/kinghmx/item/395dbac3261292dcef183b52 最近在写一个页面,在出了ie6外的所有浏览器中都正常(ie7,8,9,  firefox, chrome), IE6下提示 “无法设置selected属性.未指明的错误”. 后来发现是jquery 在 ie6 下操作 select控件有BUG. 我程序中是这样使用的: $("#genre").val(0); 改成: setTimeout(function(){ 

关于jQuery中,animate、slide、fade等动画的连续触发、滞后反复执行的bug的个人解决办法

照例,现在开头讲个这个问题发生的背景吧: 因为最近要做个操作选项的呼出,然后就想到了用默认隐藏,鼠标划过的时候显示的方法. 刚开始打算添加一个class="active",直接触发mouseover(或者mouseenter)的时候add,mouseout(或者mouseleave)的时候remove,这个解决方法很简单,也很实用,但是体验上可能不是那么酷炫(好吧,这个词用的,瞬间感觉好low啊),所以就想到了用animate或者slide这些jQuery的动画,然后一开始讲真,这个插

使用jQuery设置元素选中的问题及解决办法

现在界面操作的js脚本很多人都是使用的jquery了吧,这其中就有很多的什么控制checkbox的选中与不选中啊什么的(特别是这个在做"全选"的时候很有用),还有就是某些时候的多选模式下的select的option的选中. 前段时间,公司开始了一个项目,里面就用到了jquery和jquery-ui,里面正好就有"全选"功能和多选模式的select,下面就来说说这里面遇到的坑. 由于要兼容IE10的版本,所以只能用1.X的版本,然后又用了jquery-ui,所以最终定

解决在圆形内做动画而不超出圆外的解决办法

注意:此次动画的目的是在圆内做动画,而动画效果不会超出圆的范围外 在制作这个效果的时候,我一开始想到的就是以下的做法: CSS: .circle{width: 200px;height: 200px;border-radius: 200px;background: rgba(0,0,0,0.5);overflow: hidden;position: absolute;} .text{position: absolute;top: 0;left: 0;-webkit-transform:trans

SVN cleanup操作反复失败解决办法

今天在更新项目的时候遇到一个问题,按惯例要cleanup才能重新更新.但是很不幸,在cleanup的时候又遇到了问题!    svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted 要更新先要cleanup,但是cleanup的失败信息又叫我cleanup--这是一个死循环!本着"内事不决问百度,外事不决问Google"的原则,终于找到一个解决办法,参见这里:ht

Android Fragment onActivityResult不执行解决办法

项目中Fragment 跳转一个新的Activity,需要执行startActivityForResult,但是回来发现Fragment 里面的onActivityResult不执行,下面的解决办法是: 第一部分:Frangment跳转Activity 如下: startActivityForResult(); 我是有个BaseActivity继承FragmentActivity 里面重写: protected void onActivityResult(int requestCode, int

jQuery中对checkbox设置checked无用解决办法

1. 对html中的多选框设置选择和取消选择,如  $("#id").attr('checked',true);$("#id").attr('checked',false).如果在调试栏中查看elements属性,可以看出,checked是已经设置成功了的,但是在html中不能表现出来. 2. 解决办法 :用prop设置.prop的值为ture或者false.方法如下: $("#id").prop('checked',true); $("

Java主线程等待所有子线程执行完毕再执行解决办法集

Java主线程等待所有子线程执行完毕在执行,其实在我们的工作中经常的用到,比如说主线程要返回一个响应用户的值,但这个值得赋值过程是由过个子线程来完成的(模拟一个实际开发的情景),所以主线程必须等待子线程执行完毕,再响应用户:否则,响应用户的是一个无意义的值. 那么如何确保所有的子线程执行完毕了.一般的有如下方法: 1  让主线程等待,或着睡眠几分钟.用Thread.sleep()或者TimeUnit.SECONDS.sleep(5); 如下: package andy.thread.tradit