点击暂停自动滚动,点击不工作再次取消暂停

问题描述 投票:0回答:1

我想知道如何使网页自动滚动,然后在单击时停止或(将鼠标悬停在某些文本上,但这对我来说太复杂了),然后在再次单击时重新启动自动滚动,直到它到达页面底部.原谅我的无知,我对 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;
     }
   }
                               
  );

我试过了,但我显然做错了什么。提前致谢:)

javascript scroll onclick onclicklistener
1个回答
0
投票
  1. if语句应该检查暂停变量是真还是假,而不是检查滚动是真还是假。

  2. 在代码开头将 paused 设置为 false,假设 pause 设置为 false:

    document.body.addEventListener("click", function(event) {
    
    if(paused == true){
      stopScroll();
      paused = true;
    } else {
    scrollerId = startScroll();
    paused = false;
      }
    }
    );
    
© www.soinside.com 2019 - 2024. All rights reserved.