JQuery - 3 минуты в секундах - PullRequest
0 голосов
/ 12 сентября 2011

Я думал, что это будет легко, но, кажется, я либо короткую, либо длинную.

Я пытаюсь заставить его подписать пользователя через 3 минуты, это обратный отсчет, который я думал, будет работатьЯ пробовал 3000, 300, 3 * 60, 3 * 1000 и т. Д.

var timeout = 30*1800;

Это функция, которую я пытаюсь запустить,

    function loadidle(){

          var timeout = 180000;
          //alert(timeout);

          $(document).bind("idle.idleTimer", function(){

              logout();

          });


          $.idleTimer(timeout);
}

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Вам просто нужен простой таймер. Есть много вариантов. Вот грязный дешевый пример, который абстрагирует его как класс. Вы можете «продолжить» таймер, вызвав .reset ().

function Timeout(seconds, callback){
    this.length = seconds * 1000;
    this.callback = callback;
    this.start();
}
Timeout.prototype = {
    start: function(){
        var self = this;
        this.stop();
        this.timer = setTimeout(function(){
            self.complete();
        },this.length);
    },
    stop: function(){
        if (this.timer) clearTimeout(this.timer);
        this.timer = null;
    },
    complete: function(){
        if (this.callback) this.callback();
        this.stop();
    },
    reset: function() {
        this.stop();
        this.start();
    }
}

Запустить новый таймер:

var timer = new Timeout(3 * 60, logout);
timer.reset(); // refresh the timer
timer.stop(); // cancel the timer
0 голосов
/ 12 сентября 2011

Уверен, JS (и, следовательно, jQuery) используют миллисекунды, поэтому вам понадобятся 3 * 60 * 1000.

...