我在尝试找到一种加载Reddit页面的方法时发现了这段代码,以便可以使用ctrl + f查找特定的帖子。问题在于它只是一直向下滚动并加载页面。我需要找到一种方法在10秒后将其停止,以便可以查看加载的内容。另外我不知道任何JavaScript,所以我找不到能帮助我的任何东西。
这是代码
var lastScrollHeight = 0;
function autoScroll() {
var sh = document.documentElement.scrollHeight;
if (sh != lastScrollHeight) {
lastScrollHeight = sh;
document.documentElement.scrollTop = sh;
}
}
window.setInterval(autoScroll, 100);
我只是将其粘贴到firefox控制台中。
答案 0 :(得分:1)
setInterval()
函数返回一个ID,您可以使用它来停止它。
像这样将其放在setTimeout()
方法中即可:
var myInterval = setInterval(autoscroll, 100);
setTimeout(function(){ clearInterval(myInterval); }, 10000);
答案 1 :(得分:1)
要在一定时间后停止间隔,请使用调用setTimeout()
的{{1}}。这是一个简化的版本(出于演示目的,时间减少到了1秒),应该会有所帮助:
clearInterval()
答案 2 :(得分:0)
....
var intervalID = window.setInterval(autoScroll, 100);
setTimeout(function(){
clearInterval(intervalID);
}, 10000);
答案 3 :(得分:0)
使用if(0)
设置为10秒后,您只需要在循环函数上调用clearInterval即可停止它,这是实现它的方法:
setTimeout
答案 4 :(得分:0)
您可以使用setTimeout
来调用该函数,直到10s为止。
这是一个立即调用的函数,该函数每100秒调用一次,直到达到10s。
(function autoScroll(t) {
t = t || 0;
if (t < 10000) {
console.log(t);
setTimeout(autoScroll, 100, t += 100);
}
})();