recherche

Maison  >  Questions et réponses  >  le corps du texte

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)?

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

怪我咯怪我咯2798 Il y a quelques jours871

répondre à tous(1)je répondrai

  • 高洛峰

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

    var speed = 0.4;
    speed=speed>0?Math.ceil(speed):Math.floor(speed);
    // speed = 1;
    speed=Math.round(speed);
    // speed = 0;

    répondre
    0
  • Annulerrépondre