Jquery jheartbeat - хочу остановить процесс - PullRequest
0 голосов
/ 27 ноября 2018

Используя следующий скрипт JS.Это прекрасно работает, но я хочу иметь возможность остановить процесс и не могу понять, как этого добиться.

$.jheartbeat = {
options: {
    url: "heartbeat_default.asp",
    delay: 10000
},
beatfunction:  function(){},
timeoutobj:  {
    id: -1
},
set: function(options, onbeatfunction) {
    if (this.timeoutobj.id > -1) {
        clearTimeout(this.timeoutobj);
    }
    if (options) {
        $.extend(this.options, options);
    }
    if (onbeatfunction) {
        this.beatfunction = onbeatfunction;
    }

    this.timeoutobj.id = setTimeout("$.jheartbeat.beat();", this.options.delay);
},

beat: function() {
    $("#HeartBeatDIV").load(this.options.url);
    this.timeoutobj.id = setTimeout("$.jheartbeat.beat();", this.options.delay);
    this.beatfunction();
}

};

Хотелось бы иметь возможность добавить функцию в Killсердцебиение или остановка процесса, вызывающего серверную страницу.

1 Ответ

0 голосов
/ 27 ноября 2018

this.timeoutobj.id - переменная, которой назначено время ожидания, но вы пытаетесь очистить clearTimeout(this.timeoutobj);.Вы нацелены не на ту переменную.

Значение очистки должно быть clearTimeout(this.timeoutobj.id), и это будет та же операция, что и в вашем методе kill.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...