我试图在我的网页上实现一些代码加载页面后自动滚动。我使用了JavaScript函数来执行自动滚动,当页面加载时我调用了我的函数,但页面仍然不能平滑滚动!有没有什么方法可以让我的页面自动平滑地滚动?
下面是我的JavaScript函数:
function pageScroll() {
window.scrollBy(0,50); // horizontal and vertical scroll increments
scrolldelay = setTimeout('pageScroll()',100); // scrolls every 100 milliseconds
}
9条答案
按热度按时间qc6wkl3g1#
它并不平滑,因为滚动每100毫秒增加50。
改变这一点,你滚动的数量,以一个较小的数字,有功能运行的错觉,更'顺利'。
把速度调低,使它更快或更慢。
会显得更流畅,试试吧;)
bksxznpy2#
试着使用jQuery,这段代码:
156位滚动到(px),从页面顶部。
800 -滚动持续时间(ms)
gupuwyp23#
您可能希望查看jQuery ScrollTo插件的源代码,它可以平滑地滚动。或者甚至可以使用插件而不是滚动自己的函数。
wfypjpf44#
流畅运行的动画取决于客户端的机器。无论您的代码编写得多么合理,您都不会对动画在128 MB RAM系统上运行的方式感到满意。
以下是如何使用jQuery滚动:
你也可以试试AutoScroll Plugin。
s6fujrry5#
你可以使用
jfunc
函数来实现。使用jFunc_ScrollPageDown
和jFunc_ScrollPageUp
函数。http://jfunc.com/jFunc-Functions.aspx。nnvyjq4y6#
既然你已经把这个问题标记为“jquery”,为什么不试试
.animate()
呢?这个特殊的jquery函数旨在平滑地动画化所有类型的属性,包括数字CSS属性以及滚动位置。iklwldmw7#
数字是硬编码的,但想法是一项一项地移动(标题是52px),当向下时,返回
pcrecxhr8#
这里有另一个例子,使用
requestAnimationFrame
。它可以让您控制滚动时间,并支持缓动功能。它非常强大,但公平的警告:用户无法中断滚动。gz5pxeao9#
使用此选项滚动SmoothToBottom