Как определить, находится ли машина в режиме ожидания, не поступают ли значения с сервера в течение 15 секунд? - PullRequest
0 голосов
/ 29 января 2019

У меня есть клиент и сервер websocket.Я хочу определить, находится ли машина в режиме бездействия в течение 15 секунд (так как данные не поступают с сервера) от клиента (используется jQuery для клиента).Если данные не поступают, я хочу всплывающее окно. И снова оно должно проверить это на 15 секунд и т. Д.

Я использовал 'setTimeout'

setTimeout(function() {
    if (data == 0) {
        $('div#popup2').show()
    }
}, 15000);

Но это сработает, только если ониравны 0, если data == 1 и машина находится в режиме ожидания, всплывающее окно не будет отображаться через 15 секунд.

1 Ответ

0 голосов
/ 29 января 2019

Вы можете использовать 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...