Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru Сниппеты JS Сниппеты Добавляем событие при бездействии пользователя на сайте

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


     31.05.2013    JS Сниппеты    5638

Видели всякие всплывающие сообщения при бездействии на каком нибудь сайте?
Такое довольно легко реализовать средствами 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
1

22 | 25

Texty - 6 июня 2013 23:41 - Юзер

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

dj-avtosh
39

1479 | 390

dj-avtosh - 7 июня 2013 02:37 - шашлычник

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

skype: elhan.isaev

ПафНутиЙ
1064

3393 | 2433

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

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

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

Nagibaka
5

42 | 34

Nagibaka - 4 июля 2013 17:30 - Эксперт


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

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

Frontend MotherFucker=:^^

TheImDim
18

327 | 291

TheImDim - 4 июля 2013 18:10 - Юзер

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

var _body = $("body");

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