自动滚动启用和禁用链接

时间:2016-07-28 01:17:14

标签: javascript html scroll

如何修改以下脚本以便能够使用像这个html链接这样的简单文本链接停止并启用自动滚动 <a href="javascript:stopScroll()">Stop Scrolling</a>? 感谢。

<script>
(function() {
   'use strict';

   var dbh,sto,num=3,temp=0,scrolldelay=70;

function init(){ 
    dbh=document.body.offsetHeight;
    pageScroll();
 }

function pageScroll() {
    window.scrollBy(0,num);
    temp+=num;
if((temp>=dbh)||(temp<=0)){
    num=-num;
 }
   sto=setTimeout(function(){pageScroll();},scrolldelay);
 }
   window.addEventListener?
   window.addEventListener('load',init,false):
   window.attachEvent('onload',init);
})();
</script>

1 个答案:

答案 0 :(得分:0)

我最终上班的剧本与原帖有点不同。这似乎有效,但由于某种原因,谷歌Chrome浏览器并不流畅。

这是我最终放在一起的内容,也有人在此感谢...

<script>
var xMax, yMax, xNeg=1, yNeg=1;

function pageScroll() {
    window.scrollBy(1 * xNeg, 1 * yNeg);
    if(xMax == window.scrollX)xNeg = xNeg * -1;
    if(yMax == window.scrollY)yNeg = xNeg * -1;
    scrolldelay = setTimeout(pageScroll,1);
    console.log(window.scrollY);
    xMax = window.scrollX;
    yMax = window.scrollY;
}
function stopScroll() {
        clearTimeout(scrolldelay);
}
</script>

现在,对于身体部分......

<a href="javascript:stopScroll()">Stop or Slow Auto Scroll.</a><br>
<a href="javascript:pageScroll()">Start or Speed Up Auto Scroll.</a>

主要脚本来自stackoverflow,SajithNair的另一篇文章 (This Article Here

仅添加了stopScroll()函数,并且函数调用pageScroll()仅作为链接调用。这在this Article.

中得到了证明