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

停止元素的动画

停止所有在指定元素上正在运行的动画。

很多时候需要停止匹配元素正在进行的动画,如果需要在某处停止动画,需要使用stop()方法。stop()方法的语法缩构为:

stop([clearQueue], [gotoEnd])

参数clearQHCHC和gotoEnd都是可选的参数,为Boolean值(ture或flase)。

clearQueue如果设置成true,则清空队列,可以立即结束动画。

gotoEnd让当前正在执行的动画立即完成,并且重设show和hide的原始样式,调用回调函数等。

如果接使用stop()方法,经常会遇到这种情况.在为某个元索绑定hover事件之后,用户把光标移入元素时会触发动画效果,而当这个动画还没结束时,用户就将光标移出这个元素了,那么光标移出的动画效果将会被放进队列之中,等待光标移入的动画结束后再执行。因此如果光标移入移出过快就会导致动画效果与光标的动作不一致。

此时只要让光标的移入、移出动作之前加入stop()方法,就能解决这个问题。stop()方法会结束当前在进行的动l画,并立即执行队列中个动画。

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

在使用animate()方法的时候,要避免动画积累而导致的动画与用户的行为不一致。当用户快速在某个元素执行animate()动画时,就会出现动画积累。解决方法足判断元素是否正处于动画状态,如果元素不处于动画状态,才为元素添加新的动画,否则不添加。代码如下:

if($(element).is(":animated")){    //判断元素是否正处于动画状态
//如果当前没有进行动画,则添加新动画
}

这个判断方法在animate()动画中经常被用到,需要特别注意。

转自:http://neirong.org/post-275.html?utm_source=tuicool&utm_medium=referral

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值