2016-07-28 47 views
0

如何修改以下脚本以便能够使用像这样的简单文本链接停止并启用自动滚动链接 <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> 

回答

0

我终于开始工作的脚本与我原来的帖子有点不同。这似乎工作,但出于某种原因,谷歌浏览器不流畅。

这是我最后放在一起,还有人要感谢这里还有...

<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.