2011-10-02 28 views
0

还有一个图像(向下箭头),当页面到达某个点时,我想要动画面朝上。我有一个滚动到底部的功能,但我不知道如何结束该功能。我很新的JavaScript,显然不擅长它。如何使用JavaScript自动向下滚动,停止该功能,然后滚动到顶部onClick?

这里是小提琴文件的链接:http://jsfiddle.net/thindjinn/LCYEp/embedded/result/

享受安德森·库珀为我的海报。我只是测试代码。 :D

回答

2

在旁注:而不是setTimeout(),请使用setInterval()。它消除了递归函数的需要。

要停止滚动页面,请拨打clearInterval()

+0

我不能确定这是否与否是正确的,只是因为我不知道有足够的了解JS。我将setTimeout更改为setInterval,但我不确定接下来要做什么。另外,我不知道如何调用clearInterval。 – Marlon

+0

'setInterval()'应该**替换**你的函数。 'var scrolling = setInterval(window.scrollBy(0,50),100);'开始滚动,'clearInterval(滚动);'停止。 – Dennis

0

试试这个:

http://jsfiddle.net/LCYEp/6/

我加了这一点:

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

+0

这只是让我不得不点击箭头几次才能到达底部。它跳跃而不是滚动。 :/我不太清楚究竟是什么问题。 – Marlon

相关问题