Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Сниппеты » JS Сниппеты » Добавляем событие при бездействии пользователя на сайте

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


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

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

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

dj-avtosh
PHP-developer

dj-avtosh - -

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

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

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

ПафНутиЙ - -

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

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

Nagibaka
Эксперт

Nagibaka - -


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

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

Frontend MotherFucker=:^^

TheImDim
Юзер

TheImDim - -

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

var _body = $("body");


Server restriction: dle-faq.ru Server restriction: www.dle-faq.ru ------ LICENSE FILE DATA ------- VU009X5YSAjbcTro6oQIH1pF0S0tHxw6 X3utgKa7k/J1knblsjqyrOfrKZkgtoH/ zjlbst4p/kmDl5KZkd2dnt5KCGOclpIJ f15Iv1BnJzXfiaZG1x35jbi5OyKhVog3 jd7sUxVMvMgUO2gUyN1fsV9o0h27MrO3 UanDBpzJbgVvUjZys0NIDuOtCgzaFIKA 3HWMRbEgADHgY0K1T7ns1t0vCFW7aDKF 5DuZpCjs2D5tIyIrfctUB1i5WiSouPDg vl2Qsrzc0NrTJ+ebSEUrnhyDjWMy7rQA Pn3LGNCiOmMRuIOLBp+NmN7hL2k/JSzd JpeoQ5gzGRR8zt7F5ZIdIcZuTfZ8+/zD dI6KQJJeu0HsU7Ra3AXJU0EkiXg8vjtd Tq6ebBesu4jGLfslfVw01bJRQz1+/OtW EmutMaoSt+S6Goja5MvWrBxW3c3v8pTF HYfzbGtLJynavG9SpPrXEFKakmD92uVk lFhOxFVAbiCq0JS8K6p3 -------------------------------- Server restriction: dle-faq.ru Server restriction: www.dle-faq.ru ------ LICENSE FILE DATA ------- VU009X5YSAjbcTro6oQIH1pF0S0tHxw6 X3utgKa7k/J1knblsjqyrOfrKZkgtoH/ zjlbst4p/kmDl5KZkd2dnt5KCGOclpIJ f15Iv1BnJzXfiaZG1x35jbi5OyKhVog3 jd7sUxVMvMgUO2gUyN1fsV9o0h27MrO3 UanDBpzJbgVvUjZys0NIDuOtCgzaFIKA 3HWMRbEgADHgY0K1T7ns1t0vCFW7aDKF 5DuZpCjs2D5tIyIrfctUB1i5WiSouPDg vl2Qsrzc0NrTJ+ebSEUrnhyDjWMy7rQA Pn3LGNCiOmMRuIOLBp+NmN7hL2k/JSzd JpeoQ5gzGRR8zt7F5ZIdIcZuTfZ8+/zD dI6KQJJeu0HsU7Ra3AXJU0EkiXg8vjtd Tq6ebBesu4jGLfslfVw01bJRQz1+/OtW EmutMaoSt+S6Goja5MvWrBxW3c3v8pTF HYfzbGtLJynavG9SpPrXEFKakmD92uVk lFhOxFVAbiCq0JS8K6p3 --------------------------------
наверх