ページ内リンクのリンク先でサイトヘッダー(固定ヘッダー)を表示してみた

ページ内リンクの動作比較

上記のボタンをクリックして、動作の違いを確認してみてください。

Lightning G3 ではページ内リンクでリンク先に飛んだときに自動的にサイトヘッダーを上によけてくれて、リンク先の先頭部分(通常は見出し)が隠れてしまうことを防いでくれます。

そして、リンク先でスクロールするとサイトヘッダーが表示される、という使い勝手に配慮された仕様になっています。

この仕様は大変ありがたいのですが、リンク先でもサイトヘッダーをすぐに表示したいって場合のカスタマイズ方法を考えてみました。

以下の JavaScript によりこの動きを実装してあります。

備忘録としてコメントを書き加えてありますが、タイムアウト処理部分は「期待通りに動いているからたぶんオッケー...」くらいのかんたんな結果オーライ検証(動作確認)しか行っていないので、これでまったく問題ないのか、若干の不安があります 😅

// ページ内リンクのときにスクロールしてサイトヘッダーを表示させる。
$('[href^="#"]').click(function(){

  // Lightning テーマ側の main.js で2秒間 (2e3) のタイムアウトを設定しているみたいなので、
  // こちらは2.1秒間 (2100) のタイムアウトにしてある。
  setTimeout(function(){

    if (screen.width >= 992) {
      // サイトヘッダーが表示される画面幅の場合は 180px スクロールする。
      // これにより、body に クラス header_scrolled が追加されて、サイトヘッダーが表示される。
      window.scrollBy({
        top: -180,
        left: 0,
        behavior: 'smooth'
      });
    }

  }, 2100);

});

投稿者プロフィール

対馬 俊彦
対馬 俊彦魚沼情報サービス (新潟県南魚沼市)
【日本全国対応】WordPress のサイト制作、設定、カスタマイズ、トラブルでお悩み、お困りの方、お手伝いいたします。

Lightning / VK Blocks / VK Filter Search のサポート、カスタマイズを得意としています。

遠方からのご依頼の場合、打ち合わせ・サポートを Zoom や電子メール・電話などを併用して行わせていただきます。

オンラインレッスン形式でのホームページ制作サポートも行っています。お客様ご自身でホームページを制作・運用する上でうまくいかない部分をサポートいたします。設定やカスタマイズを手伝ってもらいたい、同時に便利な使い方や設定方法、カスタマイズのやり方も知ることができたら...という方にご好評いただいています。

デザイナー様、制作業者様のサイト制作のお手伝いも数多く行っています。難しい部分のコーディング ( PHP / CSS / jQuery ) をやってほしい、いま人手が足りない等、お仕事の依頼をお待ちしています。

ご要望をうかがった上で費用見積り(無料)を提示させていただきますので、お気軽にお問い合わせください。

メールでのお問い合わせはこちら

Lighting テーマ使用

WordPress サイト開設

スターターパック

  • デザイン済みパーツを組み合わせることで価格納期を大幅削減
  • プロが作ったクオリティが高いホームページ
  • サポート付き・ご自分でかんたんに情報発信できます