猿问

为什么我将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值,效果就没了


RISEBY
浏览 479回答 1
1回答

偶然的你

var speed = 0.4;speed=speed>0?Math.ceil(speed):Math.floor(speed);// speed = 1;speed=Math.round(speed);// speed = 0;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答