jQuery动画防止重复执行、停止执行的方法
典型的语法:
$(selector).hide(speed,callback)
当需要动画结束后才去执行特定语句,这里用callback能实现。更复杂的情况我觉得用判断动画是否正在执行或是否执行完成,会更妥当。
在动画事件执行前加上一个判断,比如产生动画效果目标的是target,那么要加上判断if(!target.is(":animated")){},举例:
if(!$(selector).is(":animated")){
$(selector).hide(speed,callback)
}
这可以保证动画只会在上一次动画结束后才会执行,保持动画的完整性,但是在短动画情况下,连续点击时会有反应迟钝的感觉。
而用stop可以强制动画当前执行,直接结束,回到初始状态或结束状态,这会造成动画脱节感,但反应迅速。权衡使用。
$("#div").stop();//停止当前动画,继续下一个动画
$("#div").stop(true);//清除元素的所有动画
$("#div").stop(false, true);//让当前动画直接到达末状态 ,继续下一个动画
$("#div").stop(true, true);//清除元素的所有动画,让当前动画直接到达末状态
相关文章
本文标签: javascript
本文作者:漫游
文章标题: jQuery动画防止重复执行、停止执行的方法
本文地址:http://www.roammemo.com/html5/168.html
版权声明:若无注明,本文皆为“漫游的备忘录”原创,转载请保留文章出处。
本文地址:http://www.roammemo.com/html5/168.html
版权声明:若无注明,本文皆为“漫游的备忘录”原创,转载请保留文章出处。