您的位置:首页 > Web前端 > JQuery

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

2015-09-23 15:21 411 查看
1、停止元素的动画

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

stop([clearQueue][,gotoEnd]);

参数clearQHCHC和gotoEnd都足町选的参数,为Boolean值(ture或flase)。clearQueue代表足胥婴清空术执{j.完的动嘶队列,90toEnd代表是否直接将萨在执行的动画跳转到术状态。

如粜商接使川stop()方法.!【!IJ会。一即停.l卜专前一在进行的动画,如.粜接下来还有动画等待继续进行.呲0以当前状态Jr始接下柬的动画。经常会遇到这种情况.在为。’个元索绑定hover事件之后.Jf】户把光标移入元素时会触发动画效粜,而当这个动画还没结束时,用户就将光标移出这个元素了,J且j么光标移出的动画效粜将会被放进队列之中,等待光标移入的动画结束后再执行。I蚓此如粜光标移入移出搿过快就会导致动画效粜.b光标的动作不一1致。此时只要神:光标的移入、移出动越之前加入stop()力‘法,就能解决这个问题。stop()方法会结束当前j下在进行的动l画,并立即执行队列中个动画。以下代码就可以解决刚才的问题。

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

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

if($(element).is(":animated")){ //判断元素是否正处于动画状态

//如果当前没有进行动画,则添加新动画

}

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

转自:http://blog.sina.com.cn/s/blog_682c84290101543n.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: