一个js自动滚动代码问题,怎么让他执行一次就不执行了!

<script>vartimer,scrollHeight,viewHeight,step=20,sTop=0;document.onclick=function(){c... <script>
var timer, scrollHeight, viewHeight, step = 20, sTop = 0;
document.onclick = function () { clearInterval(timer); }
function Move() {
//设置滚动前获取当前的的滚动高度和sTop比较,如果小于sTop或者和sTop的差距大于step定义的,说明拖拽过滚动条了
var nowScrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
if (nowScrollTop < sTop || (nowScrollTop - top > step)) clearInterval(timer);
sTop += step;
document.documentElement.scrollTop = document.body.scrollTop = sTop;
if (sTop + viewHeight > scrollHeight) {//滚动到底部
clearInterval(timer);
document.documentElement.scrollTop = document.body.scrollTop = 0//跳转到顶部
}
}
window.onresize = function () {
viewHeight = document.body.clientHeight;
scrollHeight = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);
}
window.onload = function () {
window.onresize();
timer = setInterval(Move, 100);
}
</script>

我想网页向下执行滚动一次就好,这段代码的连续滚动的。
展开
 我来答
tsotsi
2014-07-21 · TA获得超过940个赞
知道小有建树答主
回答量:1367
采纳率:55%
帮助的人:691万
展开全部
if (sTop + viewHeight > scrollHeight) {//滚动到底部
clearInterval(timer);
//像我这样注释掉这行 document.documentElement.scrollTop = document.body.scrollTop = 0//跳转到顶部
}
是勇敢
2014-07-21 · 希望快乐渡过第一天。
是勇敢
采纳数:914 获赞数:1799

向TA提问 私信TA
展开全部
这是典型的不兼容所致。
追问
兼容好像没问题。
window.onload = function () {
window.onresize();
timer = setInterval(Move, 100);
}
这个是镉100毫秒执行一次,我想改成只滚动一次
追答
window.onload = function () {

window.onresize();
timer = setInterval(Move, 100);
clearInterval(timer);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深海大龙虾爷
2014-07-21 · TA获得超过608个赞
知道小有建树答主
回答量:478
采纳率:37%
帮助的人:184万
展开全部
setInterval 改成setTimeout
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式