我想遍历某个类的每个元素,并逐一显示它们,但是它们之间会出现随机延迟。
棘手的部分是,我想以线性方式进行操作,所以我不会为每个元素开始一个新的线程,因为那样以后,元素将被随机显示(因为延迟也是随机的)。
完成此操作后,我想运行另一部分代码。
我现在所看到的是这样,但是您可以看到延迟设置为固定的数量(以免弄乱元素的顺序)
jQuery('.myclass').each(function(index) {
jQuery(this).delay(1000 * index).fadeIn(0);
}).promise().done(function() {
//run code that has to run when the iteration is finished
});
还有另一种方法可以实现这一点,在该情况下甚至可能不需要使用Promise,以及何时进行迭代的回调?
一种更线性的方法,我会在迭代之间“沉睡”,像这样吗?
jQuery('.myclass').each(function(index) {
jQuery(this).show();
//sleep somehow for 1 or 2 seconds
})
//run code that has to run when the iteration is finished