`
jsczxy2
  • 浏览: 1260756 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

jQuery停止动画和判断是否处于动画状态

阅读更多

 

停止元素的动画方法:stop()

语法结构:stop([clearQueue],[gotoEnd])

clearQueue 和 gotoEnd 都为可选参数,为布尔值。

clearQueue : 是否要清空未执行玩的动画列表
gotoEnd : 是否直接将正在执行的动画跳转到末状态

如果直接用 stop() ,会立即停止当前正在进行的动画,如果接下来还有动画等待继续进行,则以当前状态开始接下来的动画。

经常在hover时间的动画效果里用到 stop() 方法,可以避免动画效果与光标动作不一致时导致的延迟动画。
例如:

$(".test").hover(function(){
	$(this).stop();
	.animate({height:"150",width:"300"},200);
},function(){
	$(this).stop();
	.animate({height:"50",width:"100"},3200);
});

如果有多个动画,可以用 stop(false,true) 这种方法让当前动画直接到达末状态

也有一半广告效果可以使用stop(true,false),不会处理正在执行的动画,但是会清楚之前多个未处理的动画队列

也可以两者结合起来使用 stop(true,true) ,即停止当前动画并直接到达当前动画的末状态,并清空动画队列。

判断元素是否处于动画状态:

if(! $(elememt).is(":animated") ){ //判断元素是否处于动画状态
 //如果当前没有进行动画,则添加
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics