任意の場所をクリックしてスクロールします

知識ポイントを含みます:

window.scrollToは(X、Y)
requestAnimationFrameの(() => {})   // フレームアニメーション、利点:リフレッシュレンダラブラウザによって、よりスムーズ。特徴:のsetTimeoutと同様に、一度だけ実行されます

どのようなコードに言われていません。

  numが到達する位置、デジタルタイプです。呼び出し:this.transitionScroll(100)

transitionScroll =(NUM)=> { 
    CONST N = window.pageYOffset。
    もし(NUM < N){
         この.ScrollDown(NUM)
    } 
    であれば(NUM> N){
         この.ScrollUp(NUM)
    } 
} 

ScrollDown =(NUM)=> { 
    CONST感度 = 5。// 灵敏度 
    window.requestAnimationFrame(()=> { 
        CONST N = window.pageYOffset; 
        CONST Dvalue = Math.abs(NUM - n)は、
         もし + N(NUM>感度){
            window.scrollToは( 0、N +のparseInt(Dvalue / 感度))
             この.ScrollDown(NUM)
        } 
    })
} 
   
ScrollDown =(NUM)=> { 
    CONST感度 = 5 
    window.requestAnimationFrame(() => { 
        CONST N = window.pageYOffset; 
        CONST Dvalue = Math.abs(NUM - N);
         場合(NUM <N - {感度)
            window.scrollToは( 0、N -のparseInt(Dvalue / 感度))
             この.ScrollDown(NUM)
        }
    })
}

 

おすすめ

転載: www.cnblogs.com/MrZhujl/p/11612423.html