Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Сниппеты » JS Сниппеты » Добавляем событие при бездействии пользователя на сайте

Добавляем событие при бездействии пользователя на сайте


     31.05.2013    сниппет, jquery, события    JS Сниппеты    6592

Видели всякие всплывающие сообщения при бездействии на каком нибудь сайте?
Такое довольно легко реализовать средствами jQuery:
idleTimer = null;
idleState = false;
idleWait = 2000; // задаём время ожидания бездействия

(function ($) {
    $(document).ready(function () {
        $('*').bind('mousemove keydown scroll', function () {
            clearTimeout(idleTimer);
            if (idleState == true) {

                // Что делаем, когда пользователь активировался
                $("body").append("<p>С возвращением дружище!.</p>");
                // Что делаем, когда пользователь активировался

            }

            idleState = false;
            idleTimer = setTimeout(function () {

                // Что делаем при бездействии юзера больше указанного времени
                $("body").append("<p>Уже " + idleWait / 1000 + " сек. отдыхаешь! Хватит халявить!</p>");
                // Что делаем при бездействии юзера больше указанного времени

                idleState = true;
            }, idleWait);
        });

        // Инициализация
        $("body").trigger("mousemove");

    });
})(jQuery)
Демо

5 комментариев

Texty
Юзер

Texty - 6 июня 2013 23:41 -

Блин, Паша, молодец. Интересные сниппеты, халявные модули. Сразу видно, доброй души человек старается ;)

dj-avtosh
шашлычник

dj-avtosh - 7 июня 2013 02:37 -

Такое можно повесить и онлайн статус передавать. Удобно. Сильно Грузит браузер?

skype: elhan.isaev

ПафНутиЙ
Админ

ПафНутиЙ - 7 июня 2013 08:39 -

Texty,
Есть немного))
dj-avtosh,
а надо? smile

Каков вопрос - таков и ответ. Просто помните об этом.

Nagibaka
Эксперт

Nagibaka - 4 июля 2013 17:30 -


$('*').bind('mousemove keydown scroll', function () {

За звездочку ата-та, можно просто $( 'body' ) написать. ;)

Frontend MotherFucker=:^^

TheImDim
Юзер

TheImDim - 4 июля 2013 18:10 -

а еще лучше кэшировать селекторы, например:

var _body = $("body");

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх