MENU

pagetop

お問い合わせ

新型コロナウイルス感染拡大に伴い、
ビデオ会議や電話打合せにも対応しております。

ガヤログ

なんか色々気になったことを書いてます。
休業予定はBLOGとFacebookにてお知らせしております。

2020.10.09

ページ内リンクでスムーズスクロール(固定ヘッダーVer)

固定のヘッダー&ナビがある場合はヘッダー分の高さを調整しなければなりません。レスポンシブだと高さが変わってしまいます。そんな時には『ヘッダー』のクラスやIDを指定してあげれば面倒な調整は不要になります。ちなみに今回の『ヘッダー』は『header』を使っています。

$(function(){
  var headerHeight = $('header').outerHeight(); // ヘッダーについているID、クラス名など、余白を開けたい場合は + 10を追記する。
  var urlHash = location.hash; // ハッシュ値があればページ内スクロール
  if(urlHash) { // 外部リンクからのクリック時
    $('body,html').stop().scrollTop(0); // スクロールを0に戻す
    setTimeout(function(){ // ロード時の処理を待ち、時間差でスクロール実行
      var target = $(urlHash);
      var position = target.offset().top - headerHeight;
      $('body,html').stop().animate({scrollTop:position}, 500); // スクロール速度ミリ秒
    }, 100);
  }
  $('a[href^=#]').click(function(){ // 通常のクリック時
    var href= $(this).attr("href"); // ページ内リンク先を取得
    var target = $(href);
    var position = target.offset().top - headerHeight;
    $('body,html').stop().animate({scrollTop:position}, 500); // スクロール速度ミリ秒
    return false; // #付与なし、付与したい場合は、true
  });
});

これで簡単実装できる!

お問い合わせ

WEBからお問い合わせ

お電話でのお問い合わせ

TEL.0268-75-0414

受付時間:9:00〜18:00
(土日祝、年末年始を除く)