问题是,当我第一次使用这个函数时,它工作正常(间隔时间很好),第二次也是如此,但第三次它不起作用,因为计时器是第二次的计时器,但是变量Timer已经改变了。
希望有人知道如何解决它。
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/