多くのWebページでは、以下の「バックに戻る」ボタン、特にページの下部にナビゲーションがないWebページを配置します。これにより、訪問者が再びナビゲーションを見つけたり、広告を再訪したりできます(とても美しい)。 JavaScriptが近年ますます広く使用されているため、スライド効果はどこにでもあるので、私はトレンドに従い、上位関数に戻ってスライド効果を作成しました。その後、物理的特性をより適切に適合させるために、減速のスライド効果が変換されました。
最初に原則について話しましょう。スクロールバーからページの上部までの距離を取得し、特定の距離で上に移動します。次に、スクロールバーからページの上部まで距離を取得し、特定の距離(前回よりわずかに小さく)で上に移動します。等々...
<script type = "text/javascript">/***ページの上部に戻る* @param acceleration acceleration* @param時間時間間隔(MS)**/function gotop(acceleration、time){acceleration = acceleration || 0.1;時間=時間|| 16; var x1 = 0; var y1 = 0; var x2 = 0; var y2 = 0; var x3 = 0; var y3 = 0; if(document.documentelement){x1 = document.documentelement.scrollleft || 0; y1 = document.documentelement.scrolltop || 0; } if(document.body){x2 = document.body.scrollleft || 0; y2 = document.body.scrolltop || 0; } var x3 = window.scrollx || 0; var y3 = window.scrolly || 0; //スクロールバーからページの上部までの水平距離var x = math.max(x1、math.max(x2、x3)); //スクロールバーからページの上部までの垂直距離var y = math.max(y1、math.max(y2、y3)); //スクロール距離=電流距離/速度、距離が小さく、速度が1より大きいため、スクロール距離は小さく、より小さくなります= 1 +加速。 window.scrollto(math.floor(x / speed)、math.floor(y / speed)); //距離がゼロでない場合、(x> 0 || y> 0){var invokeFunction = "gotop(" + acceleration + "、" + time + ")"; window.settimeout(invokeFunction、time); }} </script>document.documentlement.scrolltop、document.body.scrolltop、window.scrollyは実際には同じですが、一部のブラウザでのみ動作します。どのブラウザが機能するかについては、自分でデバッグできます。
それを使用する方法は?
コードコピーは次のとおりです。
<a href = "#" onclick = "gotop(); return false;"> top </a>