如何修改以下脚本以便能够使用像这个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>
答案 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.
中得到了证明