怎么让禁止动画重复执行,很多方法。列举下:
典型的语法:
$(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(true, true);//清除元素的所有动画,让当前动画直接到达末状态。
网友评论文明上网理性发言 已有0人参与
发表评论: