问题是当我第一次使用此函数时(第二次间隔时间也不错),第二次也可以,但是第三次它不起作用,因为计时器是第二次的计时器,但是变量计时器已更改。
希望有人知道如何解决它。
function SetTimer()
{
clearInterval(AutoMsgTimer);
Timer = prompt("[AutoMsg] Timer de l'auto-messages en secondes :");
TimerSec = Timer;
Timer = Timer*1000;
var AutoMsgTimer = setInterval(
function AutoMsg()
{
if(AutoMsgStatus == true)
{
API.sendChat("/me " + AutoMsgText);
}
}
, Timer);
}
对不起,我的英语我是法语。
最佳答案
这样做,而不是每次调用SetTimer()
时都重新声明变量。
var AutoMsgTimer = SetTimer(); //Make sure you call the SetTimer this way, store the return value...
function SetTimer() {
if (AutoMsgTimer ){
clearInterval(AutoMsgTimer);
}
Timer = prompt("[AutoMsg] Timer de l'auto-messages en secondes :");
TimerSec = Timer;
Timer = Timer*1000;
var interval = setInterval(
function() {
if(AutoMsgStatus == true)
{
API.sendChat("/me " + AutoMsgText);
}
}, Timer);
return interval;
}
关于javascript - setInterval()变量更改错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24872873/