繁体   English   中英

为什么 clearInterval 不清除我的 setInterval function? [等候接听]

[英]Why clearInterval doesn't clear my setInterval function? [on hold]

所以我每 3 秒调用一次 navigateRight function。

WrappingCarousel.prototype.startSlideShow = function() {
        var self = this;
        clearInterval(this.slideShowInterval);
        this.slideShowInterval = setInterval(function () {
            self.navigateRight(true);
        }, 3000);
    };


WrappingCarousel.prototype.navigateRight = function(notRestart) {
    if ($("#catalog").hasClass("screen0") && $("#catalog-content").is(":visible")) {
        clearInterval(this.startSlideShow); // -----> I CLEAR IT HERE.
    }
    if (this.index+1 >= this.items.length) { this.index = -1; }
    if (!notRestart) this.startSlideShow();
    return Carousel.prototype.navigateRight.call(this);
};

在每 3 秒调用一次的 function 内部,我有一个条件,应该清除这个间隔,但它根本没有清除它。

请尝试在navigateRight function 中使用clearInterval(this.slideShowInterval) ,这似乎是您用来存储setInterval function 返回的值的正确变量,而不是clearInterval(this.startSlideShow)

更多在这里:

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM