2015-12-21 5 views
1

Hello, не может найти код: x Может ли кто-нибудь опубликовать или объяснить, как я могу сделать всплывающее окно после 10 минут неактивного?Показать всплывающее окно после 10 минут неактивного

Когда член неактивна из 10minutes после загрузки страницы, члены получат всплывающее окно с некоторыми кнопками и текст

<div> 
    <p>Away from keyboard?</p> 
    <ul class="button"> 
     <li><a href="#0">I'm Back!</a></li> 
    </ul> 
</div> 
+0

Возможно попробовать решение, предложенное здесь http://stackoverflow.com/questions/667555/detecting-idle-time-in-javascript-elegantly –

ответ

1
var seconds = 0; 
     var timeoutCounter = setInterval(function(){ 
     seconds++; 
     if(sec == 600) { 
    // do stuff to launch popup 
    clearInterval(timeoutCounter); 
    } 
     }, 1000); 


    $(document).mousemove(function (e) { 
clearInterval(timeoutCounter); 
     seconds = 0; 
    setInterval(timeoutCounter); 
     }); 
     $(document).keypress(function (e) { 
      clearInterval(timeoutCounter); 
      seconds = 0; 
    setInterval(timeoutCounter); 
     }); 

В основном это работает каждый второй - и если это 600-вторых, это завершает работу после запуска вашего кода.

Source for idle checking

+0

Вам не проверить, если пользователь простаивает или нет. Вы должны контролировать мышь/клавиатуру. – Ilya

+0

@Ilya Лицо, которому принадлежит страница, должно быть в состоянии установить секунды = 0, когда пользователь делает содержательное взаимодействие. Иногда вы не хотите делать это в общих чертах. – spozun

+0

Это не работает для того, что ОП просит «после 10 минут неактивного», поэтому я предлагаю вам сообщить OP об этом или обновить свой ответ запиской. – Franco

0

Вложить события в document объекта вместе с методом setTimeout для отображения всплывающего окна. Один из способов сделать это является

var popupTimer, 
     TIME_OUT = 600; 

// function that displays the popup 
function displayPopup() { 
    // display the popup here 
} 

// Set the timeout to display the popup 
popupTimer = setTimeout(displayPopup, TIME_OUT); 

// attch events to the document object 
// you can add more events here based on 
// what events you want to track 
$(document).on('click change keypress', function() { 

    // clear the timeout whenever the event is handled 
    clearTimeout(popupTimer); 

    // Reset the timer 
    popupTimer = setTimeout(displayPopup, TIME_OUT); 
}); 
Смежные вопросы