gpt4 book ai didi

javascript - $.each 内的 setTimeout 不会遵守时间安排

转载 作者:行者123 更新时间:2023-12-01 02:11:55 26 4
gpt4 key购买 nike

我想要备份、删除列表中的每一项,并在 1 秒后追加每一项。

我正在尝试这样:

var backup = $('#rGallery').html();
$('#rGallery li').remove();
console.log($(backup).filter('li').length); /* it logs like 135 */
$(backup).filter('li').each(function(){
var the = $(this);
var timeout = setTimeout(function(){
console.log(the.html()); /* it logs the html, but all at the same time*/
$('#rGallery').append('<li>'+the.html()+'</li>');

/*return*/
},1000);
});

它的工作原理,项目被删除然后再次追加,问题是它们在 1 秒后全部被追加。而不是每个都比前一个等待 1 秒。

我在这里缺少什么?

最佳答案

因为您告诉它们全部在一秒钟内运行,所以它们不会添加到某个神奇队列中并排队等待开始计数。

$(backup).filter('li').each(function(index){  //added index here
var the = $(this);
var timeout = setTimeout(function(){
console.log(the.html()); /* it logs the html, but all at the same time*/
$('#rGallery').append('<li>'+the.html()+'</li>');

/*return*/
},1000*(index+1)); //multiplied it here
});

关于javascript - $.each 内的 setTimeout 不会遵守时间安排,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16749276/

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