thiagomtolotti / smooth-scroll

1 stars 0 forks source link

Scroll não preciso #5

Open thiagomtolotti opened 2 years ago

thiagomtolotti commented 2 years ago

Ao configurar o smooth scroll para 150px na verdade somente scrolla 139px. Desconfio que esteja relacionado a precisão do delta que usei pra resolver a questão dos page up e down.

update(){
    this.moving = true;

    let delta = (this.pos - this.target.scrollTop)/this.smooth;

    this.target.scrollTop += delta

    if(Math.abs(delta) > 1){ //<-- AQUI, melhorar essa precisão. Mas ele 'trava' no .91666 (pois o DOM não consegue mexer menos que 1px)
      this.requestFrame(this.update.bind(this))
    }else{
      this.moving = false
    }
  }
thiagomtolotti commented 2 years ago

mudando para isso:

 update(){
    this.moving = true;

    let delta = Math.round((this.pos - this.target.scrollTop)/this.smooth);

    this.target.scrollTop += delta

    if(Math.abs(delta) > .5){
      this.requestFrame(this.update.bind(this))
    }else{
      this.moving = false
    }
  }

melhorei a precisão para 145px ou 97%