用于向下滚动页面直到达到某些内容的功能

时间:2017-07-23 12:25:16

标签: jquery while-loop menu infinite-scroll

我正在处理分页无限滚动页面。在菜单中,我正在创建一个按钮,触发向下滚动的功能(每次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循环太快而且多个滚动事件在彼此之上被触发。

有更好的方法吗?

1 个答案:

答案 0 :(得分: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语句并使用超时循环函数。