gpt4 book ai didi

javascript - 使用 jQuery 延迟对象串行处理 jQuery 集合/数组

转载 作者:行者123 更新时间:2023-11-29 22:24:17 25 4
gpt4 key购买 nike

我有一组 jQuery 对象。如果它们可见,我想与数组中的每个项目进行交互。我的流程是这样的:

  1. 创建一个数组,其元素都是jQuery对象。
  2. 对象可能可见也可能不可见。
  3. 从数组中的第一个元素开始。
  4. 等待项目可见,时间是任意的。说3秒。如果变得可见,转到第 5 步,否则从“播放”功能返回。//更新了
  5. 单击该项目。
  6. 重复 4-5,直到没有更多可交互的项目。

更新(用例说明):
本质上,我正在做的是对数组执行一系列串行操作。 A-B-C-D,顺序。但是,当 A 创建 B 的元素并且已经检查 B 是否可见时,可能会出现问题。它不会被点击。

我一直在研究 jQuery 的延迟对象,但对如何实现它一头雾水。如何实现?是否有使用延迟对象的替代方法?

根据@jmort 的建议,我将附上目前所有的内容。

var play = function() {
var dfds = [];
$(steps).each(function(i, v) {
dfds[i] = $.Deferred();
});

$.when.apply(null, dfds).then(function(){
console.log('all done');
});

};

假设 steps 等于 jQuery 对象数组。

最佳答案

这很容易做到:

var play = function() {
$(steps).filter(':visible').click();
};

更新:

var play = function() {
$(steps).each(function() {
$(this).filter(':visible').click();
});
};​

关于javascript - 使用 jQuery 延迟对象串行处理 jQuery 集合/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10529305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com