animate 动画滞后执行的解决方案
程序员文章站
2022-07-02 16:34:13
jQuery动画: animate 容易出现连续触发、滞后反复执行的现象; 针对 jQuery 中 slideUp、slideDown、animate 等动画运用时出现的滞后反复执行等问题的解决方法有如下: 1、在触发元素上的事件设置为延迟处理, 即可避免滞后反复执行的问题(使用setTimeout ......
jQuery动画:
animate 容易出现连续触发、滞后反复执行的现象;
针对 jQuery 中 slideUp、slideDown、animate 等动画运用时出现的滞后反复执行等问题的解决方法有如下:
1、在触发元素上的事件设置为延迟处理, 即可避免滞后反复执行的问题(使用setTimeout)
2、在触发元素的事件时预先停止所有的动画,再执行相应的动画事件(使用stop)推荐这种。
//第二种方式
$(".container").stop();//停止当前动画,继续下一个动画
$(".container").stop(true);//清除元素的所有动画
$(".container").stop(false, true);//让当前动画直接到达末状态 ,继续下一个动画
$(".container").stop(true, true);//清除元素的所有动画,让当前动画直接到达末状态
//例如,
1 $(".container").stop().animate({ 2 marginTop:"60px", 3 width:"100px", 4 height:"50px" 5 },500);