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") ){ //判断元素是否处于动画状态
 //如果当前没有进行动画,则添加
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值