自动滚动启用和禁用链接

Auto Scroll enable and disable link

本文关键字:链接 启用 滚动      更新时间:2023-09-26

如何修改以下脚本,使其能够使用像以下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>

我最终开始工作的脚本与我最初的帖子有点不同。这似乎有效,但由于某种原因,在谷歌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的另一篇文章(本文在此)

stopScroll()函数只是添加的,函数调用pageScroll()只是作为链接调用的。这一点在本条中得到了证明。