объявления переменных setInterval - PullRequest
0 голосов
/ 22 октября 2019

Как получается, это работает правильно:

var slideshow_action;

function start_interval() {
    if (slideshow_action) {
        clearInterval(slideshow_action);
    }
    slideshow_action = setInterval(slider_flip, 5000);
}

function stop_interval() {
    clearInterval(slideshow_action);
}

, но это приводит к нескольким интервалам, запускающимся после того, как вы наведите указатель мыши на элемент, который включает эти две функции (start_interval также запускается при загрузке страницы один раз):

function start_interval() {
    if (slideshow_action) {
        clearInterval(slideshow_action);
    } else {
        var slideshow_action;
    }
    slideshow_action = setInterval(slider_flip, 5000);
}

function stop_interval() {
    clearInterval(slideshow_action);
}

Я также заметил, что мне действительно нужен этот clearInterval в функции запуска, иначе результат такого же рода. Почему новый интервал, который я объявляю, «перезаписывает» то, что в данный момент выполняется?

...