javascript - Pourquoi ne puis-je pas faire défiler à nouveau la barre de défilement après avoir changé la vitesse en Math.round(speed)?
怪我咯
怪我咯 2017-05-19 10:45:44
0
1
853

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); Cette phrase est un commentaire

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

           }
       },30)

   };

}
C'est-à-dire que lorsque vous modifiez la vitesse de speed=speed>0?Math.ceil(speed):Math.floor(speed); à
speed=Math.round(speed); en haut de la page, je peux revenir en haut de la page normalement, mais lorsque je fais défiler la molette de la souris, la barre de défilement ne peut pas bouger et continue de monter, et la page continue de clignoter. Pourquoi ? Je viens de changer la valeur de la vitesse et l'effet a disparu

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(1)
小葫芦
var speed = 0.4;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
// speed = 1;
speed=Math.round(speed);
// speed = 0;
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal