2
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ページ内リンクをスムーズにスクロールする方法

Posted at

実装シチュエーション

  • 「テキストリンク」や「ボタン」を押したときにページ下部のコンテンツへ移動させるとき
  • ページ上部に戻るボタンを押して最上部に移動させるとき

利用できる範囲

  • ページ内リンクを下記のように、#から始まるように設定したとき
qiita.rb
<a href="#sample">サンプルページ</a>

ソースコード

qiita.rb
$(function(){
   // #で始まるアンカーをクリックした場合に処理
   $('a[href^=#]').click(function() {
      // スクロールの速度
      var speed = 400; // ミリ秒
      // アンカーの値取得
      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;
   });
});
2
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?