我正在处理分页无限滚动页面。在菜单中,我正在创建一个按钮,触发向下滚动的功能(每次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 :(得分: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语句并使用超时循环函数。