2017-07-23 21 views
0

我正在处理分页的无限滚动页面。在菜单中,我正在制作一个按钮,它会触发一个向下滚动的功能(每次100px),直到加载某个内容(page3.html)。向下滚动页面直至达到特定内容的功能

function GOindex() { 
while (urllist.includes('page3.html') == false) { 
var y = $(window).scrollTop(); 
$(window).scrollTop(y+100); 
}; 
} 

新页面在页面到达时加载。新页面的html地址附加在urllist中。我正在使用while循环向下滚动,直到page3.html出现在urllist中。

不幸的是,当我按下按钮时脚本卡住了。我认为这是因为while循环太快,并且多个滚动事件相互触发。

有没有更好的方法来做到这一点?

回答

0

好吧,我懂了这样的工作:

function GOindex() { 
if (urllist.includes('page3.html') == false) { 
    var y = $(window).scrollTop(); //your current y position on the page 
    $(window).scrollTop(y+100); 
    console.log("100 down"); 
    setTimeout(GOindex, 1); 
} 
else { 
    console.log("page3.html loaded, stop scrolling"); 
} 
}; 

找到答案的问题this。它可能不是超级优雅,但它运作良好!基本上最好使用if语句并用超时循环函数。

相关问题