jQueryでスムーズにページ内リンクを移動する方法

jQueryでスムーズにページ内リンクを移動する方法
この記事は約2分で読めます。

ページ内のリンクになにも設定しない場合、アニメーション無しでカクッと切り替わっちゃって大変不格好。
そんな不格好なページ内リンクを優しくするする~っと移動する方法をご紹介します。
下のコードをjsファイルに張り付けると、ページ内リンクのaタグ全てにスムーススクロールが適応されます。
いまいち動きが分からない方へ、実際にスムーススクロールを使ったdemoも載せておきますので、
ご確認していただけると伝わりやすいかもしれません。

【jQuery】

  $(function() {
    $('a[href^="#"]').on("click", function() {
      var speed = 600;
      var href= $(this).attr("href");
      var target = $(href == "#" || href == "" ? 'html' : href);
      var position = target.offset().top;
      $('body,html').animate({scrollTop:position}, speed, 'swing');
      return false;
    });
  });

【なにも設定しない場合】

See the Pen
スムーススクロール無し
by endebataro (@endebataro)
on CodePen.

【aタグにスムーススクロールを追加した場合】

See the Pen
スムーススクロール有り
by endebataro (@endebataro)
on CodePen.

javascriptjQueryサイト制作
エンデ・バタロー

フロントエンドエンジニアとして10年目のキャリアを積んでおり、figma、Illustrator、Photoshop、WordPress、HTML、今は亡きXHTML、CSS(scss)、JavaScript(jQuery)、PHPなど使って日々仕事をしています。

仕事で検索する手間を省くためフロントエンド技術に関するブログを書いています。

制作のご依頼やお問い合わせはこちらから連絡お願いします。

エンデ・バタローをフォローする
シェアする
初めてのブログ

コメント

タイトルとURLをコピーしました