Скрыть элемент на три минуты подключения - PullRequest
2 голосов
/ 30 сентября 2011

У меня есть приложение чата, и я хотел бы отобразить кнопку «Запросить супервизора», которая будет отображаться через три минуты после того, как пользователь подключится . Это будет включать в себя обновление пользователем страницы.

Вот то, что у меня есть, но этого на самом деле совсем недостаточно;

//shows the tooltip in 3 minutes
window.setTimeout(function(){
        $("#panic-tooltip").fadeTo(1000, 1);
    }, 180000);

Очевидно, что если пользователь обновляет страницу, он блокируется. Я как-то думал об использовании cookie-файла ... Я бы предпочел не делать что-либо на бэкэнде, но мне, возможно, придется. Кроме того, я знаю, что технология push будет хорошим решением, но это не вариант здесь.

Я использую HTML5/CSS3/jQuery/jQuery UI кстати, если что-то из этого помогает.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 30 сентября 2011

Если у вас есть функция для установки cookie-файла и одна для извлечения cookie-файла, это относительно просто.

При первом посещении вы устанавливаете cookie-файл с текущим временем следующим образом:

Но только если cookie-файл еще не существует.

Кроме того, у вас есть интервальный цикл, проверяющий разницу во времени:

var timer = setInterval(function(){
    var oldDate = new Date(getCookie('first_visit')),
        newDate = new Date();

    if(newDate - oldDate > 180000){  //time is in miliseconds
        clearInterval(timer);
        //show your message here
        $("#panic-tooltip").fadeTo(1000, 1);

    } 
},1000);
0 голосов
/ 30 сентября 2011

Это то, что я в конечном итоге использовал ... Жаль, что Дэвин или Мелламокб не ответили LOL

if($.cookie("showPanic") == 'yes'){
    $("#panic-tooltip").fadeTo(1000, 1);
} else {
    window.setTimeout(function(){
        $("#panic-tooltip").fadeTo(1000, 1);
        $.cookie("showPanic", "yes");
    }, 180000);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...