还有一个图像(向下箭头),当页面到达某个点时,我想要动画面朝上。我有一个滚动到底部的功能,但我不知道如何结束该功能。我很新的JavaScript,显然不擅长它。如何使用JavaScript自动向下滚动,停止该功能,然后滚动到顶部onClick?
这里是小提琴文件的链接:http://jsfiddle.net/thindjinn/LCYEp/embedded/result/
享受安德森·库珀为我的海报。我只是测试代码。 :D
还有一个图像(向下箭头),当页面到达某个点时,我想要动画面朝上。我有一个滚动到底部的功能,但我不知道如何结束该功能。我很新的JavaScript,显然不擅长它。如何使用JavaScript自动向下滚动,停止该功能,然后滚动到顶部onClick?
这里是小提琴文件的链接:http://jsfiddle.net/thindjinn/LCYEp/embedded/result/
享受安德森·库珀为我的海报。我只是测试代码。 :D
在旁注:而不是setTimeout()
,请使用setInterval()
。它消除了递归函数的需要。
要停止滚动页面,请拨打clearInterval()
。
试试这个:
我加了这一点:
window.pageScroll=function() {
window.scrollBy(0,50);
if(document.body.scrollHeight>
document.html.clientHeight+
document.body.scrollTop){
scrolldelay = setTimeout('pageScroll()',100);}
}
出于某种原因,我无法获取文档体的clientHeight工作的权利。
scrollHeight是可以滚动页面的高度。 clientHeight是滚动区域的可见区域。 scrollTop是从可滚动区域的顶部滚动的距离。 如果scrollTop + clientHeight等于scrollHeight,那么您已经滚动到底部。
请参见:
https://developer.mozilla.org/en/DOM/element.clientHeight https://developer.mozilla.org/en/DOM/element.scrollHeight https://developer.mozilla.org/en/DOM/element.scrollTop
这只是让我不得不点击箭头几次才能到达底部。它跳跃而不是滚动。 :/我不太清楚究竟是什么问题。 – Marlon
我不能确定这是否与否是正确的,只是因为我不知道有足够的了解JS。我将setTimeout更改为setInterval,但我不确定接下来要做什么。另外,我不知道如何调用clearInterval。 – Marlon
'setInterval()'应该**替换**你的函数。 'var scrolling = setInterval(window.scrollBy(0,50),100);'开始滚动,'clearInterval(滚动);'停止。 – Dennis