setInterval() 每次访问页面时触发另一个间隔

setInterval() triggers another interval everytime page is visited

大家好,我正在使用 fullpage.js,我正在尝试使用 setInterval() 在我的主页上制作一个自动滑块。问题是,每次我转到我网站上的另一个页面并 return 回家时,setInterval 会触发另一个间隔,并且滑块会快速而疯狂地移动。

每次访问主页时我都在使用 clearInterval() 但它似乎不起作用,知道如何解决这个问题吗?

谢谢!

window.laytheme.on("newpageshown", function(layoutObj, type, obj){
    var myInter
    var autoScroll = function() {
    jQuery.fn.fullpage.moveSectionDown()
    }

    if(obj.id === 11){
    clearInterval(myInter)
    myInter = setInterval(autoScroll, 3500)
    }

    })

尝试将您的代码更改为 setTimeout,如下所示:

//ensure interval variable are accessible
var myInterval = null;
var autoScroll = function() {
    jQuery.fn.fullpage.moveSectionDown()
};

window.laytheme.on("newpageshown", function(layoutObj, type, obj){
    if(obj.id === 11){
        if(myInterval != null){
            clearTimeout(myInterval);
        }
        myInterval = setTimeout(autoScroll, 3500);
    }
});