尤克里里的方法不错 返回顶部过程中和滚动条拼速度体验不好 最好是直接点击页面就停下来 示例
1.在页面添加一个空div css类似 #scrollStop{width: 100vw;height: 100vh;background-color: #transparent;position: fixed;top: 0;left: 0;}
2.给返回顶部按钮添加一个z-index=1(确保按钮不被div给盖住了)
3.js的onscroll中获取#scrollStop并添加点击事件scrollStop.onclick{clearsetInterval(timer)};
1.在页面添加一个空div css类似 #scrollStop{width: 100vw;height: 100vh;background-color: #transparent;position: fixed;top: 0;left: 0;}
2.给返回顶部按钮添加一个z-index=1(确保按钮不被div给盖住了)
3.js的onscroll中获取#scrollStop并添加点击事件scrollStop.onclick{clearsetInterval(timer)};
2016-09-19
在onlick里面先if判断一下定时器是不是空的吧 不然
if(timer){
clearInterval(timer);
}
再写timer=setInterval blalabalbal
if(timer){
clearInterval(timer);
}
再写timer=setInterval blalabalbal
2016-09-19
最新回答 / ThinkSummer
1、尽量不要使用全局变量。每声明一个全局变量会占用一点内存,另外会造成变量名污染;2、var osTop = document.documentElement.scrollTop。如果写在外面,osTop只是在JS文件载入时获取滚动条距离顶部的高度,但有的时候,如页面在滚动的时候osTop的值是在不断变化的,所以我们要在绑定scroll事件中不断的去获取osTop的值;3、本人对JS也不是太熟悉,回答的也不一定正确。上面是我用jQuery写的咱们慕课网右侧返回顶部的代码。
2016-09-19
已采纳回答 / 慕名不来
第6行只是定义下这个变量而已,请注意在30行那儿给isTop赋值为true了,所以第6行不管你是什么值都无所谓。第19行那儿你不赋值为false的话,那就停止不了定时器(因为定时器停止的条件是isTop为false),也就达不到终止动画的效果。至于第19行的问题,肯定是先判断完条件,执行相应的动作后,再把条件变量复位啊,你如果放到16行前的话,那条件判断始终成立,也就是说每向上滑动一下,就停止不滑动了,那还玩毛啊
2016-09-17
最新回答 / qq_不能自理的猪_0
window.onload=function(){ var btn=document.getElementById('btn'); var timer=null; //页面可视高度区域 var clientHeight=document.documentElement.clientHeight; //在第二页面显示回到顶部按钮 window.onscroll=function(){ var osTop=document.body.scrollTop || ...
2016-09-13
这里写background的时候:老师用到的是top left和left 40px;
我写的是top和bottom,也是一样的效果。
由于btn的宽高都为40是固定的所以可以用我的这样的写法。
给大家一个参考意见吧。
我写的是top和bottom,也是一样的效果。
由于btn的宽高都为40是固定的所以可以用我的这样的写法。
给大家一个参考意见吧。
2016-09-10