为了账号安全,请及时绑定邮箱和手机立即绑定

这个问题纠结好久,求解答:滚动时我往下拉还是会继续滚,为什么?

window.onload = function(){
	var btn = document.getElementById('btn');
	var clientHeight = document.documentElement.clientHeight; //获取可见区域
	var isTop=true;
	var timer=null;
	//滚动事件 如果滚动高度大于可见区域,则显示回到顶部的按钮
	
	window.onscroll = function(){
		var Top = document.documentElement.scrollTop || document.body.scrollTop;//滚动的高度
		if (Top>=clientHeight) {
			btn.style.display = "block";
		}
		else{
			btn.style.display = "none";
		}
		
        if (!isTop)
		{
			clearInterval(timer);
		}
		isTop = false;  
	}
	
	// 点击事件,当点击按钮时回到页面顶部
	btn.onclick = function(){		
		var timer=setInterval(function(){
			var Top = document.documentElement.scrollTop || document.body.scrollTop;//滚动的高度
			var speed = Math.floor(-Top/20);
			document.documentElement.scrollTop =document.body.scrollTop=Top+speed;
			isTop=true;
			if(Top==0){
				clearInterval(timer);
				}
			},30);
		
     }
			
}


正在回答

1 回答

找到原因了,是我大意重新定义了var timer定时器了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
回到顶部效果
  • 参与学习       44211    人
  • 解答问题       206    个

回到顶部网站不可缺少的一部分,用JS实现炫酷拉风的回到顶部效果

进入课程

这个问题纠结好久,求解答:滚动时我往下拉还是会继续滚,为什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信