- ページ上部へのスムーズスクロール 最も基本的な方法は、ページの上部にスクロールするアンカーリンクを作成することです。以下のコードをHTMLファイルの適切な場所に挿入してください。
<a href="#top" class="smooth-scroll">ページ上部へ</a>
次に、以下のJavaScriptコードを記述して、スムーズスクロールの動作を追加します。
$(document).ready(function(){
$(".smooth-scroll").on('click', function(event) {
if (this.hash !== "") {
event.preventDefault();
var hash = this.hash;
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 800, function(){
window.location.hash = hash;
});
}
});
});
上記のコードでは、クラス名が"smooth-scroll"の要素がクリックされたときに、スクロールイベントを処理します。アンカーリンクのhref
属性に指定されたセクションの位置までスムーズにスクロールします。
- カスタムスクロール速度の設定
スクロールの速度を調整するには、
animate()
メソッドの引数である800を変更します。数値が大きいほどスクロールが遅くなり、数値が小さいほどスクロールが速くなります。適切な速度を見つけるために、いくつかの値を試して調整してみてください。
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 1500, function(){
window.location.hash = hash;
});
上記の例では、スクロール速度を1500ミリ秒に設定しています。
- ナビゲーションメニューのスムーズスクロール ナビゲーションメニューのリンクをクリックしたときにもスムーズスクロールを適用する方法もあります。以下のコードを使用して、ナビゲーションメニューのリンクにスムーズスクロールの動作を追加します。
$(document).ready(function(){
$("a.nav-link").on('click', function(event) {
if (this.hash !== "") {
event.preventDefault();
var hash = this.hash;
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 800, function(){
window.location.hash = hash;
});
}
});
});
上記のコードでは、クラス名が"nav-link"のリンクがクリックされたときにスクロールイベントを処理します。ナビゲーションメニューのリンクにhref
属性でセクションのIDを指定してください。
これらのコード例を使用すると、jQueryを使用してアンカーリンクにスムーズスクロール効果を追加することができます。必要に応じて、スクロール速度やクラス名、セクションのIDなどをカスタマイズしてください。