我有websocket客户端和服务器。我想从客户端(用于客户端的jQuery)检测机器是否空闲15秒(因为没有数据来自服务器)。如果没有数据要弹出,请再次检查15秒,依此类推。
我使用了'setTimeout'
setTimeout(function() {
if (data == 0) {
$('div#popup2').show()
}
}, 15000);
但是只有当data == 1且机器处于空闲状态时,它们才会为0,这将触发。
答案 0 :(得分:0)
您可以在其他情况下使用clearTimeout
,如下所示。
var data = 0; // Change value to 1 if you want to see change.
var tID;
$('#popup2').hide();
$('#popup1').hide();
if (data == 0)
tID = setTimeout(function() {
$("div#popup2").show()
}, 1500);
else {
clearTimeout(tID); // Else condition goes here whatever you want to do
$("div#popup1").show();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<div id='popup2'>Your Pop UP</div>
</div>
<div id='popup1'>Show Test Div</div>