搜索

首页  >  问答  >  正文

javascript - 为什么我将speed改为Math.round(speed)之后,就不能再次滚动滚动条了?

var top = document.getElementsByClassName("top")[0];

   var timer = null;
   top.onclick=function()
   {
       timer=setInterval(function () {
           var cur=document.body.scrollTop;
           var speed=(0-cur)/2;
        speed=speed>0?Math.ceil(speed):Math.floor(speed);

// speed=Math.round(speed);这句是注释的

           if(cur==0){
               clearInterval(timer);
           }
           else{
               document.body.scrollTop=cur+speed;

           }
       },30)

   };

}
就是将speed由 speed=speed>0?Math.ceil(speed):Math.floor(speed);改为
speed=Math.round(speed);之后再点击元素回到页面顶部的时候,是可以正常回到页面顶部,但是
滚动鼠标滚轮的时候,滚动条不能动,一直往上走的趋势,而且页面不停的闪动,这是为什么?就改了speed值,效果就没了

怪我咯怪我咯2797 天前869

全部回复(1)我来回复

  • 高洛峰

    高洛峰2017-05-19 10:47:44

    雷雷

    回复
    0
  • 取消回复