jquery - jquery中的 'fx'队列如何自动启动?

标签 jquery

我读过很多关于 jQuery 队列的答案和博客文章...特别是这个特定的答案有很大帮助 - https://stackoverflow.com/a/3314877/1315811 。但是,jquery.com 上的标准文档和上面的答案都让我查看了 jquery 代码 http://code.jquery.com/jquery-1.7.2.js

我无法理解 - 从代码中 - “fx”(默认)队列如何自动启动。特别是在队列被清空之后。

例如,在自定义队列上,当您手动启动队列,并且队列用完要调用的函数时,对队列的任何引用都不再无效,因此我希望在 jquery 代码中的某个位置尝试找出输出队列的状态,如果它是空的,会自动启动吗?该代码有点演示了我遇到的情况,如果我只是缺少一段代码(我正在查看上述代码中的第 2060-2160 行),请告诉我。

> var aq = $({});
> aq.queue("mp").length
0
> n1 = aq.queue("mp")
[]
> n1.length
0
> aq.queue("mp", function (next) { setTimeout(next, 5000); })
[Object]
> aq.queue("mp", function (next) { setTimeout(next, 5000); })
[Object]
> aq.queue("mp", function (next) { setTimeout(next, 5000); })
[Object]
> n1.length
0
> aq.queue("mp").length
3
> n1 = aq.queue("mp"); // reset n1 to the "new" queue...
> n1.length
3

此外,如果其中任何部分不清楚,请告诉我,我会相应更新。

最佳答案

队列代码中的这段代码处理自动启动:

if ( type === "fx" && queue[0] !== "inprogress" ) {
    jQuery.dequeue( this, type );
}

如果正在排队的队列是 fx 并且该队列尚未在进行中,则调用 dequeue

关于jquery - jquery中的 'fx'队列如何自动启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10467419/

相关文章:

javascript - 无效的 geoJson 对象 - Leaflet 和 Ajax

jQuery 选择 : change event doesn't fire from AJAX call

php - ajaxForm 无法 POST 文件

javascript - 获取所有父级并将它们存储在字符串中

javascript - 轻扫面漆侧菜单

jquery 选择器查找子元素

javascript - 如何使用 jQuery 获取 <span> 的内容?

javascript - 如何获取canvas中图像的Id

javascript - javascript 可以根据图像的 ID 设置链接和标题等属性吗?

javascript - 获取 CKEditor 中具有相同类名的许多其他 CKEditor 的特定内容(使用 Ajax)