cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Mengapa saya tidak boleh menatal bar skrol sekali lagi selepas menukar kelajuan kepada Math.round(speed)?

var atas = document.getElementsByClassName("atas")[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); Ayat ini adalah komen

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

           }
       },30)

   };

}
Iaitu, apabila anda menukar kelajuan daripada speed=speed>0?Math.ceil(speed):Math.floor(speed); kepada
speed=Math.round(speed); ke bahagian atas halaman, saya boleh kembali ke bahagian atas halaman seperti biasa, tetapi apabila saya menatal roda tetikus, bar skrol tidak boleh bergerak dan terus naik, dan halaman terus berkelip Mengapa ini? Baru tukar nilai kelajuan dah hilang

怪我咯怪我咯2798 hari yang lalu870

membalas semua(1)saya akan balas

  • 高洛峰

    高洛峰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;

    balas
    0
  • Batalbalas