gpt4 book ai didi

javascript - js、jquery - settimeout 和 for 循环

转载 作者:行者123 更新时间:2023-12-03 03:06:53 25 4
gpt4 key购买 nike

我想执行以下说明:

1. Fill input with id "ivoucher".
2. Click button with class "voucher-add-check".
3. Wait 5 seconds

我想将它放入 for 循环中。我有以下代码,但它不起作用:

(function() {
'use strict';

for (var i = 1; i <= 3; i++) {
(function(a) {
jQuery('#ivoucher').val(i);
$('button[class*="voucher-add-check"]').click();
setTimeout(function() {
console.log(document.getElementById('ivouchermessage'));
}, i * 5000);
})(i);
}
})();

最佳答案

您似乎希望在分配下一个值之前发生延迟。在这种情况下,您需要一个异步循环。一种方法是从 setTimeout 回调中调用函数:

(function loop(i) {
if (i > 3) return; // all done
$('#ivoucher').val(i);
$('button[class*="voucher-add-check"]').click();
setTimeout(function() {
loop(i+1); // only now continue the "loop"
}, 5000);
})(1); // start value of i

请注意,在您的代码中:

  • 您将参数命名为a,但您并未使用它。
  • 所有三个分配和点击均立即发生(不受超时限制)

关于javascript - js、jquery - settimeout 和 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47127149/

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