クリックするとウェブサイトをスクロールさせるウェブサイトのボタンをいくつか作成したいと思います。たとえば、このウェブサイトのhttps://www.slugterra.com/をクリックすると、ウェブサイトの4つのボタンをクリックすると、スムーズにスクロールします。 今、このコードを使用して自分のウェブサイトを移動します。ボタンをスクロールしてウェブサイトをスムーズにスクロール
<a href="#Center">Go to Center</a>
クリックするとウェブサイトをスクロールさせるウェブサイトのボタンをいくつか作成したいと思います。たとえば、このウェブサイトのhttps://www.slugterra.com/をクリックすると、ウェブサイトの4つのボタンをクリックすると、スムーズにスクロールします。 今、このコードを使用して自分のウェブサイトを移動します。ボタンをスクロールしてウェブサイトをスムーズにスクロール
<a href="#Center">Go to Center</a>
私は自分のページにスムーズスクロールを実現するために、次のコードを使用します。
var $root = $('html, body');
$('.smothScroll').click(function() {
var href = $.attr(this, 'href');
$root.animate({
scrollTop: $(href).offset().top
}, 500, function() {
window.location.hash = href;
});
return false;
});
(注)このコードで、あなたが動作するように要素にクラス.smoothScroll
を追加する必要があること。
余分なクラスを追加せずにすべてのリンクを操作する場合は、jQueryセレクターをa
に変更することができますが、これは他の要素に望ましくない影響を与える可能性があります。
リンク先のページにスムーズなスクロール以外のアニメーションがあります。コードを分析すると、コンテナの絶対位置はtop
とleft
のプロパティで移動します。これは、スクロールイベントを聞き、コンテナのtop
とleft
プロパティを持つ実際のscrollTop
パラメータと等価を設定することで簡単に達成できます。
ありがたいことに、jQueryの最新バージョンでは、['animate'](http://www.javax.jp)のために[' requestAnimationFrame'](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) /api.jquery.com/animate/)が呼び出されます。 –
良い解決策は、['requestAnimationFrame'](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame)を直接またはライブラリ経由で使用することです。これにより、アニメーションがスムーズになり、タブが表示されていないときの電池寿命が節約されます。 –