你好,我有这段代码即使在我选择的时间之后也会激活一些代码。
问题在于,例如,如果我放3秒钟它将每3秒发射一次,我需要的是它在3秒后仅发射一次。
function playSound(timeLeft){
var sendDataTimeout = function(){
alert('OK');
}
var intervalReference = 0;
clearInterval(intervalReference);
intervalReference = setInterval(sendDataTimeout, timeLeft);
}
答案 0 :(得分:12)
您不需要setInterval
,需要setTimeout
。
顾名思义,setInterval
会定期发射,而setTimeout
只发射一次。但用法是一样的。
答案 1 :(得分:12)
使用setTimeout
代替它,它的工作方式几乎相同但只会触发一次。您有clearTimeout
和setTimeout
,因此它与setInterval
function playSound(timeLeft){
var sendDataTimeout = function(){
alert('OK');
}
setTimeout(sendDataTimeout, timeLeft);
}
您不必再使用clearTimeout了。但是它存在并且与clearInterval一样工作。