最赞回答 / 小菜鸟飞
点击回到顶部时,滚动条滚动,定时器中有istop=true这句话执行,因为开始滚动了,所以同时触发onscroll,而if(!istop)为false,不会停止定时器,如果在回到顶部的过程中,用户自己滚动,没有经过定时器,flag为false,!flag为true,执行停止定时器语句。
2016-09-22
最新回答 / 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
最新回答 / joyboy0405
我理解的是向下取整的关系,负数向下取整(Math.floor())绝对值比原来的数大,所以改为负数。虽然感觉正数向上取整(Math.ceil())一样=。=你可以自己试一试,希望对你有所帮助~
2016-07-29
已采纳回答 / 子非酸菜鱼
在eclipse或者MyEclipse之类的IDE中来做这个案例,完全没有问题,你需要注意的是,你要使用的图片,必须放在该案例那个路径下,不然怎么找得到,记得要使用相对路径
2016-07-25
最新回答 / joyboy0405
document.documentElement.scrollTop=document.body.scrollTop = osTop+ispeed;光写这句的话,你那个osTop的值是没有变化的,所以下面判断内的语句也就是清除定时器的操作是执行不了的。你看看是不是。
2016-07-25