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

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


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

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

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

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

https://elkhan.ru
По заказам пишем сюда: @Rud00y

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

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

ПафНутиЙ - 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");

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