jQuery的队列依赖缓存机制事件,它同时是animate的基础。

它不像事件机制、缓存机制、回调机制一样有自己的命名空间,由于比较简单,所以直接挂在到$和jQuery对象上。

它提供的基础方法有:

jQuery.extend({
    queue: function( elem, type, data ) {

  var queue;
    // 如果存在elem,也就是至少有一个参数
        if ( elem ) {

     // 如果有第二个参数,使用第二个参数加上“queue”,否则使用“fx” + “queue”(动画队列的名称)
            type = ( type || "fx" ) + "queue";

     // 到jQuery内部使用的data_priv缓存对象中去取已type为key的值
            queue = data_priv.get( elem, type );

     // 如果存在第三个参数
            if ( data ) {

       // 如果elem还没有在cache中存储过名为type的数据,或者需要存储的数据时数组
                if ( !queue || jQuery.isArray( data ) ) {

         //
                    queue = data_priv.access( elem, type, jQuery.makeArray(data) );

       // 否则,直接将data推入到队列中
                } else {
                    queue.push( data );
                }
            }

     // 返回队列
            return queue || [];
        }

  }, // 将数据按照某种类型存储到elem上
    dequeue: function( elem, type ) {}, // 从elem上删除某种类型的数据
    _queueHooks: function( elem, type ) {} // 内部使用
});

jQuery.fn.extend({
    queue: function( type, data ) {},
    dequeue: function( type ) {},
    delay: function( time, type ) {},
    clearQueue: function( type ) {},
    promise: function( type, obj ) {}
});

jQuery队列(一)的更多相关文章

  1. js进阶 13-5 jquery队列动画如何实现

    js进阶 13-5 jquery队列动画如何实现 一.总结 一句话总结:同一个jquery对象,直接写多个animate()就好. 1.什么是队列动画? 比如说先左再下,而不是左下一起走 2.怎么实现 ...

  2. jQuery队列操作

    jQuery.queue 1."fx"是什么? 队列动画的默认名称 队列的名字为type + "queue",默认是"fxqueue" 2. ...

  3. jQuery队列(三)

    看了一下队列剩下的几个方法,在没有应用场景的情况下,对它所做的一些处理不能明白.后续希望可以通过动画部分代码的阅读能搞清楚这些处理的意义.jQuery.fn.extend({ // 推迟队列中函数的执 ...

  4. jQuery队列(二)

    继续阅读队列提供的方法. jQuery.extend({    queue: function( elem, type, data ) {}, // 将data按照某种类型存储到elem对应的队列中, ...

  5. jquery源码解析:jQuery队列操作queue方法实现的原理

    我们先来看一下jQuery中有关队列操作的方法集: 从上图可以看出,既有静态方法,又有实例方法.queue方法,相当于数组中的push操作.dequeue相当于数组的shift操作.举个例子: fun ...

  6. JQuery队列queue与原生模仿其实现

    jQuery中的queue和dequeue是一组很有用的方法,他们对于一系列需要按次序运行的函数特别有用.特别animate动画,ajax,以及timeout等需要一定时间的函数. queue() 方 ...

  7. jQuery队列控制方法详解queue()/dequeue()/clearQueue()

    queue(name,[callback]):  当只传入一个参数时, 它返回并指向第一个匹配元素的队列(将是一个函数数组,队列名默认是fx);$('#demo').queue('name') 当有两 ...

  8. jquery 的队列queue

    使用示列代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  9. jQuery源代码学习之七—队列模块queue

    一.jQuery种的队列模块 jQuery的队列模块主要是为动画模块EFFECTS提供支持,(不过到现在为了支持动画队列的inprogress的出入队还是搞不太清楚),单独抽取出一个命名空间是为了使程 ...

随机推荐

  1. SqlServer 数据库引擎优化顾问优化数据库

    现在一直在做的项目,数据量相对也不小,开始的时候没有觉得,因为是刚开始,数据量还很小,在程序使用过程中速度还挺快,但是随着数据量的不停的增长,发现程序越来越慢,甚至出现了超时的问题,因此要对程序和数据 ...

  2. ISAPI和CGI限制中没有ASP.NET v4.0 ; vS2013检测到在集成的托管管道模式下不适用的 ASP.NET 设置。

    统确实自带了ASP.NET v4.0,但是ISAPI中没有这个选项,导致服务器开不起来 解决方法如下: 1.确保安装IIS时确实安装了ASP.NET,如果没有的话,勾上重新装一下,一般出现404.2时 ...

  3. IntelliJ IDEA Default Keymap

    Alt+回车 导入包,自动修正Ctrl+N   查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get ...

  4. IntelliJ IDEA 终极破解

    1. 下载破解补丁(JetbrainsCrack-2.6.10-release-enc.jar): http://idea.lanyus.com/jar/JetbrainsCrack-2.6.10-r ...

  5. Redis面试题及答案整理

    1.什么是Redis?简述它的优缺点? Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载 ...

  6. phpstorm + x-debug 进行php调试

    参照http://www.cnblogs.com/tippoint/p/3429092.html 进行安装xdebug: 首先自己写一个打印php的页面,将phpinfo 拷贝到下面的框内进行分析. ...

  7. flashfxp v3.7 注册码

    -------- FlashFXP Registration Data START --------FLASHFXPvwBW1S4QvwAAAAC5W5MNJwXnsl73i3CxcVAAvAyagF ...

  8. jsch下载文件的两个注意点

    1.关于sftp文件上传和下载的网上很多code,此处就不多写了.主要记录下工作中遇到的两个问题需要多注意. 1.判断sftp远程文件是否存在,通过异常捕获来判断该文件是否存在,存在返回SftpATT ...

  9. 申请LINE 帐号的所有方法

    如果你打算用LINE 交朋友或是做行销,你就必须先要拥有一个甚至许多个LINE 帐号.在本篇文章中,将分享给你目前申请LINE 帐号的所有可能方法. 目前LINE 公司允许大家使用以下二种身分申请LI ...

  10. 如何在windows上测试iphone?

    本教程将会让你没有mac照样测试iphone,这是我折腾了几天总结下来的,希望对大家有用. 先来几张效果图吧 方法很简单,但是配置起来说实话有点麻烦,先在电脑上安装vmware,在安装osx系统,在安 ...