我想检测机器是否空闲15秒,是否显示弹出窗口。当数据来自服务器时,我的变量会进行数学计算并更改值。所以我想要的是,如果此变量在15秒钟的弹出窗口中没有变化。
我已经尝试过setTimeout。
obj = JSON.parse(evt.data);
if(obj.Addition=="0"){if(flag == 0){
flag = 1;
interval = setInterval(function(){
$('div#popup2').show();
}, 15000);
}
}
else
{
clearInterval(interval);
flag = 0;
}
这种方式行不通,因为当Addition = 1时,它将进入else条件,但是当机器空闲时,没有数据来自服务器,因此从技术上讲,没有“ obj.Addition”,所以我想检查要更改的变量像smallCount一样。如果此变量递增,则会显示弹出窗口
答案 0 :(得分:0)
我解决它通过下一个条件清理掉的时间间隔相同的循环内,并且再次加入seInterval以及 这样,它会先clearoutInterval,然后重新设定间隔等
if(obj.Addition=="0")
{
console.log(obj.Addition);
clearInterval(interval);
if(flag == 0){
flag = 1;
interval = setInterval(function(){
$('div#popup2').show();
}, 25000);
}
}
else
{
console.log(obj.Addition);
clearInterval(interval);
interval = setInterval(function(){
$('div#popup2').show();
}, 25000);
flag = 0;
}