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

jQuery之queue()方法

2016-09-06 17:38 288 查看
今天看到 queue() 方法表示有些困惑,就结合理论知识与实践,对queue()方法做出总结;希望对你有帮助,另外就是如有觉得有问题,欢迎提出。


定义:queue()方法显示或操作在匹配元素上执行的函数队列。
语法:
1、.queue(queueName)
queueName是字符串值,包含序列的名称,默认是fx,标准的效果序列。
2、.queue(queueName,newQueue)
newQueue是用于替换当前队列内容的新队列。
3、queue()的返回值是Array/jquery类型,返回值的类型取决于当前对queue()的操作是获取操作还是设置操作。
如果queue()函数执行的是设置操作(替换队列、追加函数),则返回当前jQuery对象本身;如果是获取到的函数队列(数组)。
如果当前jQuery对象匹配多个元素,读取数据时,queue()函数只以其中第一个匹配的元素为准。
操作:
1、
//为一个<div>元素添加一个队列,队列名为q;
//queue(queueName,newQueue);原本如果queue()执行的是获取的操作,就会返回一个数组类型
//的返回值,因此在queue()执行设置操作时,可以用一个数组来代替newQueue;
//当文档中有多个<div>标签时,只设置第一个与之匹配的<div>元素而忽略剩余的<div>;
var $divs=$("div");
$divs.queue("q",[]); //只匹配第一个与之匹配的元素;
var $queue=$divs.queue("q"); //获取队列名为“q”的队列,返回值是一个数组;
//获取的是队列的长度,即队列中等待发生的事件;因为在前面未添加事件,故$length值为0;
var $length=$queue.length;
2、
//next()--参数 or 其他命名的参数  or .dequeue()--语句;
//这一句是给队列“q”添加一个函数处理;
//next表示继续下一步动作;相当于 $(this).dequeue(),删除当前动作,以使下一个动作的发生;
$div.queue("q" , function (next ) {  alert ("hello") ;  next(); }) ;

//上一句就等同于这一句;
$div.queue("q" , function () {  alert ("hello") ;  $(this).dequeue(); }) ;

若不做一个删除操作,那么在跟在后面与$div的第一个元素匹配的元素的在队列“q”中动作就没办法发生了。

88f2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: