`
sungang_1120
  • 浏览: 309836 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

jQuery1.9(动画效果)学习之——.queue()

阅读更多

.queue( [queueName ] )

描述:显示或操作匹配的元素上已经执行的函数列队。

 

  • queueName
    类型: String
    一个含有队列名的字符串。默认是 fx,标准的动画队列。

 

例子:

显示列队的长度。

 

<!DOCTYPE html>
<html>
<head>
<style>div { margin:3px; width:40px; height:40px;
position:absolute; left:0px; top:60px;
background:green; display:none; }
div.newcolor { background:blue; }
p { color:red; } </style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p>The queue length is: <span></span></p>
<div></div>
<script>
var div = $("div");
function runIt() {
div.show("slow");
div.animate({left:'+=200'},2000);
div.slideToggle(1000);
div.slideToggle("fast");
div.animate({left:'-=200'},1500);
div.hide("slow");
div.show(1200);
div.slideUp("normal", runIt);
}
function showIt() {
var n = div.queue("fx");
$("span").text( n.length );
setTimeout(showIt, 100);
}
runIt();
showIt();
</script>
</body>
</html>

 

 

 

 

.queue( [queueName ], newQueue )

描述: 在匹配元素上操作已经附加函数的列表。

  • queueName
    类型: String
    一个含有队列名的字符串。默认是 fx,标准的动画队列。
  • newQueue
    类型: Array
    一个替换当前列队内容的函数数组。

.queue( [queueName ], callback( next ) )

 

  • queueName
    类型: String
    一个含有队列名的字符串。默认是 fx,标准的动画队列。
  • callback( next )
    类型: Function()
    将要添加到队列中的新函数。当该函数被调用时,会从弹出队列中的下一个元素。

每个元素可以通过jQuery,包含一个或多个函数队列。在大多数应用中,只有一个列队(访问 fx)被使用。队列允许一个元素来异步的访问一连串的动作,而不终止程序执行。典型的例子就是在一个元素上调用多重动画的方法对一个元素。例如:

$('#foo').slideUp().fadeIn();

 

当这个语句被执行,这个元素开始立即做滑动动画,但渐入动画放置在 fx 列队在,只有当滑动动画完成后才会被执行。

queue()方法允许我们直接操纵这个函数队列。用一个回调函数访问queue()特别的有用;它让我们把新函数置入到队列的末端。为jQuery集合中的每个元素执行一次回调函数。

该函数的功能类似于在动画方法中提供了回调函数,但是不要求在动画执行时指定回调函数。

$('#foo').slideUp();
$('#foo').queue(function() {
alert('Animation complete.');
$(this).dequeue();
});

 

这是相当于:

$('#foo').slideUp(function() {
alert('Animation complete.');
});

 

值得注意的是,当使用.queue()添加一个函数的时候,我们应该保证在函数最后调用了 jQuery.dequeue(),这样就能让队列中的其它函数按顺序执行。

从jQuery 1.4开始,向队列中追加函数时,可以向该函数中传入另一个函数,作为第一个参数。当调用函数时,会自动从函数队列中弹出下一个项目,保证队列中函数的继续进行。我们可以像下面这样使用:

$("#test").queue(function(next) {
// Do some stuff...
next();
});

 

例子:

Example: Queue a custom function.

<!DOCTYPE html>
<html>
<head>
<style>
div { margin:3px; width:40px; height:40px;
position:absolute; left:0px; top:30px;
background:green; display:none; }
div.newcolor { background:blue; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
Click here...
<div></div>
<script>$(document.body).click(function () {
$("div").show("slow");
$("div").animate({left:'+=200'},2000);
$("div").queue(function () {
$(this).addClass("newcolor");
$(this).dequeue();
});
$("div").animate({left:'-=200'},500);
$("div").queue(function () {
$(this).removeClass("newcolor");
$(this).dequeue();
});
$("div").slideUp();
});</script>
</body>
</html>

 

 

Example: Set a queue array to delete the queue.

<!DOCTYPE html>
<html>
<head>
<style>
div { margin:3px; width:40px; height:40px;
position:absolute; left:0px; top:30px;
background:green; display:none; }
div.newcolor { background:blue; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<button id="start">Start</button>
<button id="stop">Stop</button>
<div></div>
<script>$("#start").click(function () {
$("div").show("slow");
$("div").animate({left:'+=200'},5000);
$("div").queue(function () {
$(this).addClass("newcolor");
$(this).dequeue();
});
$("div").animate({left:'-=200'},1500);
$("div").queue(function () {
$(this).removeClass("newcolor");
$(this).dequeue();
});
$("div").slideUp();
});
$("#stop").click(function () {
$("div").queue("fx", []);
$("div").stop();
});</script>
</body>
</html>

 

分享到:
评论

相关推荐

    C语言头文件 QUEUE.H

    C语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言...

    11.javaQueue 接口及其实现类.zip

    11.javaQueue 接口及其实现类.zip11.javaQueue 接口及其实现类.zip11.javaQueue 接口及其实现类.zip11.javaQueue 接口及其实现类.zip11.javaQueue 接口及其实现类.zip11.javaQueue 接口及其实现类.zip11.javaQueue ...

    python中利用队列asyncio.Queue进行通讯详解

    本文主要给大家介绍了关于python用队列asyncio.Queue通讯的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 asyncio.Queue与其它队列是一样的,都是先进先出,它是为协程定义的 例子...

    jQuery CSS3小鸟飞翔动画代码.zip

    jQuery CSS3小鸟飞翔动画特效是一款利用css3的keyframes属性制作的小鸟飞翔动画代码。 js代码 [removed] var timer = setInterval(function(){ $(".box &gt; div").animate({ 'marginLeft': 1000, },{queue:...

    Plupload + jquery.plupload.queue 批量上传 和 plupload.full单个上传

    描述:支持文件批量上传、选择图片直接上传到服务器显示在界面

    Python库 | valer.queue-1.0.3rc11.zip

    python库。 资源全名:valer.queue-1.0.3rc11.zip

    JQuery 1.4.1 API Reference 速查手册.chm

    jQuery 核心函数 jQuery(expr, [context]) jQuery(html, [ownerDoc]) jQuery(html, props) jQuery(elements) jQuery() jQuery(callback) jQuery 对象访问 each(callback) size() length selector context ...

    swfupload上传

    this.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler; this.settings.queue_complete_handler = this.settings.queue_complete_handler || null; }; })(SWFUpload....

    asyncfnqueue一个异步函数队列化执行库

    async-fn-queue:一个异步函数队列化执行库

    javax.jms.jar

    javax.jms.Queue.class javax.jms.TopicSubscriber.class javax.jms.QueueBrowser.class javax.jms.TemporaryQueue.class javax.jms.TemporaryTopic.class javax.jms.ServerSession.class javax.jms....

    2014-12-28-深入理解jQuery(6)——Queue1

    1. 源码结构 2. 基本使用 3. 源码分析

    jQuery CSS3动画小鸟飞翔.zip

    },{queue:true, duration:5000,complete:function a(){ $(".box &gt; div").css('transform','rotateY(180deg)'); }}).animate({ 'marginLeft': 50, },5000,function(){ $(".box &gt; div").css('transform','rotateY...

    jQuery 1.9.1源码分析系列(十五)之动画处理

    首先需要有队列(queue)...——————————————————————————–  先根据参数调用jQuery.speed获取动画相关参数,得到一个类似如下的对象;并且生成动画执行函数doAnimation optall = { comple

    22. Queue & Tables

    INE出品的SDN视频教程

    delphi中关于队列的使用QUEUE

    delphi中关于队列的使用QUEUE,已在delphi7中调试通过。 学习queue的小例子。

    hadoop 容量调度器

    mapred.capacity-scheduler....mapred.capacity-scheduler.queue.&lt;queue-name&gt;.maximum-capacity:设置调度器中各个queue最大可以占有的容量,默认为-1表示最大可以占有集群100%的资源,和设置为100的效果是一样的。

    jQuery 1.5 API 中文版

    $.queue( [name,] queue ), jQuery.queue( [name,] queue ) Test operations strjQuery.type( obj ) booljQuery.isArray( obj ) booljQuery.isEmptyObject( obj ) booljQuery.isFunction( obj ) booljQuery....

    Jquery队列动画特效

    Jquery队列函数使用,动画特效,用于学习,方便初学者使用

    python进程间通信Queue工作过程详解

    可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理: import multiprocessing q = multiprocessing.Queue(3) # 初始化的...

Global site tag (gtag.js) - Google Analytics