当用户到达某个网页向下滚动时,是否可以更改滚动条位置?例如,一旦你到达页面的一半,滚动条就会自动移回到顶部。
答案 0 :(得分:31)
您可以使用onscroll事件计算滚动条当前位置的百分比,如果达到50%,则可以使用scrollTo将滚动位置设置为页面顶部功能:
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);
}
};
};
您可以查看我的示例here。
答案 1 :(得分:9)
window.scrollBy(0,50)
50是您想要滚动的像素数量。
答案 2 :(得分:4)
您想要关注的三个滚动功能是window.scroll(x,y)
,window.scrollBy(dx,dy)
和window.scrollTo(x,y)
。
正如大卫所说,你需要滚动位置知道你在哪里,并使用window.onscroll
事件来启动这个计算。
答案 3 :(得分:2)
(window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop)应该在几乎任何浏览器中为您提供当前滚动位置。