jQuery操作动画队列

来源:互联网 发布:为什么运营商封80端口 编辑:程序博客网 时间:2024/04/27 22:17

1.前言

当在jQuery对象上调用动画方法时,如果对象正在执行某个动画效果,那么新调用的动画方法就会被添加到动画队列中,jQuery会按顺序依次执行动画队列的每个动画。

jQuery提供了以下几种方法来操作动画队列。

1)        stop([clearQuery],[gotoEnd]):停止当前jQuery对象里每个DOM元素上正在执行的动画。

2)        queue([queueName,]callback):将callback动画数添加到当前jQuery对象里所有DOM元素的动画函数队列的尾部。

3)        queue([queueName,]naeQueue):用newQueue动画函数队列代替当前jQuery对象里所的DOM元素的动画函数队列。

4)        dequeue():执行动画函数队列头的第一个动画函数,并将该动画函数移出队列。

5)        clearQueue([queueName]):清空动画函数队列中的所有动画函数。

2.例子

下面的程序代码示范了访问默认动画队列的属性:

<!DOCTYPE html><html><head><meta name="author" content="OwenWilliam /><meta http-equiv="Content-Type" content="text/html; charset=GBK" /><title> 动画队列 </title><style>div {width: 60px; height: 60px;position:absolute;top:60px; background: #f0f;display:none;}</style></head><body><script type="text/javascript" src="../jquery-1.8.0.js"></script><p>动画队列的长度是:<span></span></p><div></div><script type="text/javascript">var div = $("div");function runIt(){// 第1个动画:显示出来div.show("slow");// 第2个动画:自动动画,水平左移300pxdiv.animate({left:'+=300'},2000);// 第3个动画:卷起来div.slideToggle(1000);// 第4个动画:放下来div.slideToggle("fast");// 第5个动画:自动动画,水平右移300pxdiv.animate({left:'-=300'},1500);// 第6个动画:隐藏出来div.hide("slow");// 第7个动画:显示出来div.show(1200);// 第8个动画:卷起来,动画完成后回调runItdiv.slideUp("normal", runIt);}// 控制每0.1秒调用一次该方法,该方法用于显示动画队列的长度function showIt(){var n = div.queue();$("span").text(n.length);setTimeout(showIt, 100);}runIt();showIt();</script></body></html>

3.执行结果




0 0