gpt4 book ai didi

javascript - jQuery .each() 中的 SetInterval

转载 作者:搜寻专家 更新时间:2023-11-01 04:58:42 34 4
gpt4 key购买 nike

我希望遍历一组 div 并在随机时间执行一些随机操作。我正在尝试使用以下函数,但 console.log 在每次迭代时返回相同的对象和整数。执行以下操作的正确方法是什么?

    $('.cloud').each(function() {
$cloud = $(this);
ranNum = Math.floor(Math.random() * 5000);
setInterval(function() {
setTimeout("console.log($cloud + ranNum)", ranNum)
})
})

最佳答案

通过 var 使用局部(闭包)变量

因为您以字符串形式提供功能,所以您必须使用全局变量。您的代码应该使用在事件匿名函数闭包中定义的局部变量编写,如下所示:

$('.cloud').each(function() {
var $cloud = $(this);
var ranNum = Math.floor(Math.random() * 5000);
setInterval(function() {
// $cloud won't have any particular meaning though
console.log($cloud + ranNum);
}, ranNum);
});

setIntervalsetTimeout 的异常组合

我也看不出您使用间隔和超时的原因?使用一个。可能是 interval 因为你想要重复执行的东西。

关于javascript - jQuery .each() 中的 SetInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5720903/

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