每次点击课程之间的延迟时间

时间:2015-11-24 09:50:41

标签: javascript

我有一些循环如下...其中点击所有按钮

for(var i = 1;i<document.querySelectorAll(".myclass").length;i++){

document.querySelectorAll(".myclass")[i].click();
console.log("hi");

}; 

但我想添加睡眠功能,延迟每个循环,如sleep(2000); ,javascript中有没有这样的功能?

我尝试了以下代码,但无法正常工作

for(var i = 1;i<document.querySelectorAll(".myclass").length;i++){


setTimeout(function() {

document.querySelectorAll(".myclass")[i].click();
console.log("hi");

}, (3 * 1000));




}; 

2 个答案:

答案 0 :(得分:1)

创建新函数作为给定并在循环中调用该函数。

function sleep(milliseconds) {
    var start = new Date().getTime();
    while ((new Date().getTime() - start) < milliseconds) {

    }
}

for (i = 0; i < 3; i++) {
    console.log(i);
    sleep(5000);
}

答案 1 :(得分:1)

var myVar = setInterval(myTimer, 2000);
var divIndex = 0;
function myTimer() {
    if(divIndex < document.querySelectorAll(".myclass").length){
      document.querySelectorAll(".myclass")[divIndex].click();  
       console.log(divIndex); 
    }else {
    	clearInterval(myVar);
    }
    divIndex++;
}
<div class='myclass'></div>
<div class='myclass'></div>
<div class='myclass'></div>
<div class='myclass'></div>