Javascript 更改滚动条位置

Javascript 更改滚动条位置,javascript,scrollbar,position,Javascript,Scrollbar,Position,当用户向下滚动网页时,是否可以更改滚动条的位置?例如,当你到达页面下方的一半时,滚动条会自动移回顶部。是的,我已经看过好几次了。下面是一些JS代码: window.scrollBy(0,50) 50是您想要滚动的像素量。(window.pageYOffset | document.body.scrollTop | document.documentElement.scrollTop)应该为您提供几乎任何浏览器中的当前滚动位置。您需要关注的三个滚动功能是window.scroll(x,y),wi

当用户向下滚动网页时,是否可以更改滚动条的位置?例如,当你到达页面下方的一半时,滚动条会自动移回顶部。

是的,我已经看过好几次了。下面是一些JS代码:

window.scrollBy(0,50)

50是您想要滚动的像素量。

(window.pageYOffset | document.body.scrollTop | document.documentElement.scrollTop)应该为您提供几乎任何浏览器中的当前滚动位置。

您需要关注的三个滚动功能是
window.scroll(x,y)
window.scrollBy(dx,dy)
窗口。滚动到(x,y)


正如David提到的,您需要滚动位置来知道您在哪里,并使用
窗口.onscroll
事件来启动此计算。

您可以使用事件计算滚动条当前位置的百分比,如果达到50%,则可以使用函数将滚动位置设置到页面顶部n:

window.onload = function () { 
  window.onscroll = function () { 
    var doc = document.body, 
    scrollPosition = doc.scrollTop,
    pageSize = (doc.scrollHeight - doc.clientHeight),
    percentageScrolled = Math.floor((scrollPosition / pageSize) * 100); 

     if (percentageScrolled >= 50){ // if the percentage is >= 50, scroll to top
       window.scrollTo(0,0); 
     } 
   }; 
};

您可以查看我的示例。

这些在所有浏览器上都可用,还是需要一些功能检测?window.scrollTo(0,0);在chomre中不适用于我