自动滚动javascript后重定向

自动滚动javascript后重定向,javascript,Javascript,我找到了这个代码,我用它在我的页面上自动滚动一个div 它可以完美地工作,但现在我想添加逻辑,在滚动完成5秒后重定向到url ScrollRate = 50; function scrollDiv_init() { DivElmnt = document.getElementById('MyDivName'); ReachedMaxScroll = false; DivElmnt.scrollTop = 0; PreviousScrollTop = 0;

我找到了这个代码,我用它在我的页面上自动滚动一个div

它可以完美地工作,但现在我想添加逻辑,在滚动完成5秒后重定向到url

ScrollRate = 50;

function scrollDiv_init() {
    DivElmnt = document.getElementById('MyDivName');
    ReachedMaxScroll = false;
    DivElmnt.scrollTop = 0;
    PreviousScrollTop = 0;
    ScrollInterval = setInterval('scrollDiv()', ScrollRate);
}

function scrollDiv() {
    if (!ReachedMaxScroll) {
        DivElmnt.scrollTop = PreviousScrollTop;
        PreviousScrollTop++;
        ReachedMaxScroll = DivElmnt.scrollTop >= (DivElmnt.scrollHeight - DivElmnt.offsetHeight);
    }
}

如果我理解正确,滚动完成后,您希望转到其他页面。这样做:

function scrollDiv() {

if (!ReachedMaxScroll) {
    DivElmnt.scrollTop = PreviousScrollTop;
    PreviousScrollTop++;

    ReachedMaxScroll = DivElmnt.scrollTop >= (DivElmnt.scrollHeight - DivElmnt.offsetHeight);   
}
else{
  clearInterval(ScrollInterval);
  setTimeout(function(){
   window.location.href = "path/to/your/file";
  },5000)//In 5 seconds
}
}

只需将代码替换为

function scrollDiv() {
    var ScrollRate = 50;


    var DivElmnt = document.getElementById('MyDivName');
    var ReachedMaxScroll = false;
    var PreviousScrollTop  = 0;

    divElmnt.scrollTop = 0;

    setTimeout(
        function () {
            if (!ReachedMaxScroll) {
                DivElmnt.scrollTop = PreviousScrollTop;
                PreviousScrollTop++;

                ReachedMaxScroll = DivElmnt.scrollTop >= (DivElmnt.scrollHeight - DivElmnt.offsetHeight);
            }

            setTimeout(function() {
                window.location.replace("http://stackoverflow.com");
            }, 5);
        },
        ScrollRate
    );
}

非常感谢,这正是我要找的!你为实现这一目标做了哪些努力?试着理解你使用的代码,这将提高你的水平。谢谢你的评论。下次我会把我试过的写下来。在这种情况下,我被其他{}部分卡住了。我不知道如何停止间歇。通过Zee的回答,我可以搜索有关clearInterval(ScrollInterval)的更多信息;了解发生了什么。