什么是动画队列?
jQuery动画存在一个队列, 会把事件产生的动画 放在一个队列中,当来不及执行这些事件队列的时候,会在事件结束后, 继续执行。
例如:
$box.hide(1000)
.show(1000)
.fadeOut()
.fadeIn()
.slideUp()
.slideDown(function(){
console.log('真的完毕了')
})
以上动画会在队列中排布,浏览器会一个一个按顺序取出动画事件来执行。
关于动画队列的方法
-
.clearQueue()
方法被访问的时候,所有在这个列队中未执行的函数将被移除 。当不使用参数的时候,.clearQueue()
会从标准的动画队列fx中移除剩下的函数。这个方法类似.stop(true)
。然而.stop()
方法只适用在动画中。.clearQueue()
还可以用来移除用.queue()
方法添加到普通jQuery
列表的任何函数。 - 当
.finish()
方法被调用的时候,当下正在运行的动画和所有动画队列中的动画会立即停止,并且CSS属性会设置为动画最终的目标值,所有的动画队列中的动画都会被移除。 -
.stop( [clearQueue ] [, jumpToEnd ] )
停止当下正在运行的动画。方法中的两个参数中clearQueue
默认值为false
,它表明了方法调用时是否移除队列中待运行的动画,参数jumpToEnd
默认是为false
,它表明了是否立即完成当下的动画。