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

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

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

RISEBY 2018-11-12 16:14:11
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值,效果就没了
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

var speed = 0.4;

speed=speed>0?Math.ceil(speed):Math.floor(speed);

// speed = 1;

speed=Math.round(speed);

// speed = 0;


查看完整回答
反对 回复 2018-12-06
  • 1 回答
  • 0 关注
  • 478 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信