我想知道如何使网页自动滚动,然后在单击时停止或(将鼠标悬停在某些文本上,但这对我来说太复杂了),然后在再次单击时重新启动自动滚动,直到它到达页面底部.原谅我的无知,我对 JS 的了解很少,我才刚刚开始学习它。
这是我到目前为止所得到的......
let scrollerId;
let paused = true;
function startScroll(){
let id = setInterval(function(){ window.scrollBy(0,2); }, 10);
return id; }
function stopScroll() {
clearInterval(scrollerId);
}
scrollerId = startScroll();
document.body.addEventListener("click", function(event) {
if(scroll == true){
scrollerId = stopScroll();
paused = true;
} else {
scrollerId = startScroll();
paused = false;
}
}
);
我试过了,但我显然做错了什么。提前致谢:)
if语句应该检查暂停变量是真还是假,而不是检查滚动是真还是假。
在代码开头将 paused 设置为 false,假设 pause 设置为 false:
document.body.addEventListener("click", function(event) {
if(paused == true){
stopScroll();
paused = true;
} else {
scrollerId = startScroll();
paused = false;
}
}
);