`
sungang_1120
  • 浏览: 322492 次
  • 性别: 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>

 

分享到:
评论

相关推荐

    jquery1.9 资源包

    3. **增强动画效果**:1.9版本对`.animate()`函数进行了优化,提供了更流畅的动画体验,并支持更多CSS3属性的动画。 4. **更好的DOM操作**:更新了DOM操作方法,如`.append()`、`.before()`等,使得元素插入和删除...

    jquery的动画效果

    jQuery是一个强大的JavaScript库,特别以其简洁的API和丰富的动画效果而闻名。在JavaScript的世界里,jQuery简化了HTML文档遍历、事件处理、动画设计和Ajax交互。本项目着重探讨jQuery中的动画效果,这些效果能够为...

    jQuery CSS3鼠标点击动画效果.zip

    本教程将详细讲解如何利用jQuery和CSS3技术,实现鼠标点击后的动画效果,包括图片或内容的滑动以及设置动画延迟功能。 一、jQuery基础 jQuery是一个强大的JavaScript库,它简化了JavaScript的DOM操作、事件处理和...

    jQuery动画队列特效代码.zip

    首先,jQuery的动画效果是通过`.animate()`方法来实现的,它可以改变CSS属性如宽度、高度、位置等,并且支持平滑过渡。例如: ```javascript $("#element").animate({ left: '+=50', opacity: '0.5' }, 1000); ``...

    jQuery动画-让页面动起来.doc

    jQuery 动画是前端开发中的一大利器,它简化了JavaScript中复杂的动画实现,使得开发者可以快速、高效地创建出各种动态效果。本文档将深入探讨jQuery动画的相关知识,从基础到进阶,帮助你掌握这一强大的功能。 一...

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

    在本项目中,结合了 `jquery.plupload.queue` 插件,使得文件上传变得更加用户友好,可以实现文件的批量上传功能。 批量上传是指用户可以选择多个文件,一次性提交到服务器进行处理。`jquery.plupload.queue` 插件...

    Python库 | boto3-1.9.87-py2.py3-none-any.whl

    这个压缩包文件“boto3-1.9.87-py2.py3-none-any.whl”是一个预编译的Python轮子文件,意味着它包含了可直接在Python环境中安装并使用的代码。它支持Python 2和Python 3,这由文件名中的"py2.py3"部分表示。"none"指...

    C语言头文件 QUEUE.H

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

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

    深入理解jQuery的队列机制是理解其动画功能和异步操作的关键。队列在jQuery中扮演着重要角色,它提供了一种有序执行任务的方式,特别适用于处理动画序列和控制执行流程。本文将详细探讨jQuery队列的源码结构、基本...

    Packt.jQuery.1.4.Animation.Techniques.2011

    ### jQuery 1.4 动画技术:初学者指南 ...通过以上知识点的学习,初学者可以快速掌握jQuery 1.4中的动画技巧,并能够灵活应用到实际项目中。此外,还可以进一步探索更多的jQuery插件和资源,不断丰富自己的动画技能。

    .jQuery动画效果

    jQuery 是一个广泛使用的JavaScript库,...通过学习和实践这些jQuery动画效果,开发者可以创建出引人入胜的网页和应用程序,提高用户的参与度和满意度。理解如何有效利用jQuery动画,是现代前端开发中不可或缺的技能。

    jquery+css3华丽滚动效果.zip

    4. 根据需求,可能还需要用到jQuery的延迟函数(`.delay()`)和动画队列(`.queue()`)来控制动画的顺序和时机。 总的来说,这个压缩包提供的滚动效果结合了jQuery的便利性、CSS3的动态性和HTML5的结构化,实现了...

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

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

    jQuery CSS3云朵飘动动画特效.zip

    4. **jQuery控制动画**:在JavaScript中,使用jQuery的`.animate()`方法或者`.delay()`、`.queue()`等函数来控制云朵的运动。通过设置不同的速度和延迟,可以创建云朵飘动速度的随机性,增加真实感。 5. **重复动画...

    jQuery加分动画效果示例

    本文将深入探讨标题为"jQuery加分动画效果示例"的知识点,以及与之相关的"changeNum"文件可能包含的内容。 jQuery的动画效果是其魅力之一,它们使网页更具动态性和用户友好性。jQuery提供了多种内置方法来创建各种...

    基于jquery的图像悬停焦点效果制作.zip

    2. **动画效果**:jQuery的`.animate()`方法可以创建平滑的CSS属性变化动画。例如,要实现图像放大效果,可以这样做: ```javascript function fadeInAndZoom() { $(this).stop().animate({ opacity: 1, // 透明...

    jquery实现png透明幻灯片效果.rar

    标题中的“jquery实现png透明幻灯片效果”指的是利用JavaScript库...学习和理解这些代码可以帮助你掌握如何使用jQuery来创建具有PNG透明效果的幻灯片。记得解压文件并用浏览器预览效果,以便更好地理解和应用这些技术。

    jQuery图片排列动画效果

    可以利用CSS3硬件加速、延迟加载图片或者使用jQuery的`.queue()`和`.dequeue()`方法来控制动画序列,确保流畅的用户体验。 总结来说,“jQuery图片排列动画效果”是一个利用jQuery库和CSS3技术创建的动态展示图片的...

    jquery加分动画效果.zip

    2. `queue()`和`dequeue()`:jQuery的动画是基于队列的,`queue()`用于设置或获取动画队列,而`dequeue()`用于执行队列中的下一个动画。 二、CSS辅助动画 1. CSS3过渡(Transitions):通过设置`transition`属性,...

Global site tag (gtag.js) - Google Analytics