当用户到达向下滚动网页的某个点时,是否可以更改滚动条位置?例如,一旦你到达页面的一半位置,滚动条就会自动移回顶部。
发布于 2009-08-08 03:57:54
您可以使用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。
发布于 2009-08-08 03:24:32
是的,我已经看过好几次了。下面是一些JS代码:
window.scrollBy(0,50)
50是要滚动的像素数。
发布于 2009-08-08 03:32:12
您需要关注的三个滚动函数是window.scroll(x,y)
、window.scrollBy(dx,dy)
和window.scrollTo(x,y)
。
正如David提到的,您将需要滚动位置来了解您所处的位置,并使用window.onscroll
事件来启动此计算。
https://stackoverflow.com/questions/1247874
复制相似问题