質問編集履歴
2
コードや質問文の抜けを修正しました。
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -54,7 +54,7 @@ 
     | 
|
| 
       54 
54 
     | 
    
         
             
            ### 起きている問題
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
       56 
56 
     | 
    
         
             
            別ページに飛んだときは正しく動作し、ヘッダー分の高さだけ位置をずらして飛ぶことができています。レスポンシブにも対応できました。
         
     | 
| 
       57 
     | 
    
         
            -
            しかし、同ページ内で遷移したときに高さの調節が効いていないようで、idを指定しているh2見出しがheaderに隠れてしまいます。
         
     | 
| 
      
 57 
     | 
    
         
            +
            しかし、同ページ内で遷移したときに高さの調節が効いていないようで、idを指定しているdivセクションのh2見出しがheaderに隠れてしまいます。
         
     | 
| 
       58 
58 
     | 
    
         | 
| 
       59 
59 
     | 
    
         
             
            ### 補足情報
         
     | 
| 
       60 
60 
     | 
    
         
             
            jQueryバージョンは3.4.1です。
         
     | 
| 
         @@ -72,14 +72,16 @@ 
     | 
|
| 
       72 
72 
     | 
    
         
             
            <!--#include virtual="./header.html" -->
         
     | 
| 
       73 
73 
     | 
    
         | 
| 
       74 
74 
     | 
    
         
             
            <div class="container" id="1">
         
     | 
| 
       75 
     | 
    
         
            -
              <div class="row 
     | 
| 
      
 75 
     | 
    
         
            +
              <div class="row">
         
     | 
| 
      
 76 
     | 
    
         
            +
                <h2>見出し1</h2>
         
     | 
| 
       76 
     | 
    
         
            -
                ここにコンテンツ
         
     | 
| 
      
 77 
     | 
    
         
            +
                ここにコンテンツ1
         
     | 
| 
       77 
78 
     | 
    
         
             
              </div>
         
     | 
| 
       78 
79 
     | 
    
         
             
            </div>
         
     | 
| 
       79 
80 
     | 
    
         | 
| 
       80 
81 
     | 
    
         
             
            <div class="wrapper" id="2">
         
     | 
| 
       81 
82 
     | 
    
         
             
              <div class="container">
         
     | 
| 
       82 
83 
     | 
    
         
             
                <div class="row">
         
     | 
| 
      
 84 
     | 
    
         
            +
                <h2>見出し2</h2>
         
     | 
| 
       83 
85 
     | 
    
         
             
                  ここにコンテンツ
         
     | 
| 
       84 
86 
     | 
    
         
             
                </div>
         
     | 
| 
       85 
87 
     | 
    
         
             
              </div>
         
     | 
1
html/css/jsコードの追記
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -59,4 +59,97 @@ 
     | 
|
| 
       59 
59 
     | 
    
         
             
            ### 補足情報
         
     | 
| 
       60 
60 
     | 
    
         
             
            jQueryバージョンは3.4.1です。
         
     | 
| 
       61 
61 
     | 
    
         | 
| 
       62 
     | 
    
         
            -
            お力を貸していただけたら幸いです。よろしくお願いします。
         
     | 
| 
      
 62 
     | 
    
         
            +
            お力を貸していただけたら幸いです。よろしくお願いします。
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
            ### 2019.10.15追記
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            ご指摘がありましたので、当該html/cssも載せます。
         
     | 
| 
      
 67 
     | 
    
         
            +
            SSIによってメニューバーを含むヘッダーを共通化しています。サーバーはロリポップ!です。
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            index.htmlが以下。
         
     | 
| 
      
 70 
     | 
    
         
            +
            ```html
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            <!--#include virtual="./header.html" -->
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            <div class="container" id="1">
         
     | 
| 
      
 75 
     | 
    
         
            +
              <div class="row center">
         
     | 
| 
      
 76 
     | 
    
         
            +
                ここにコンテンツ
         
     | 
| 
      
 77 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 78 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
            <div class="wrapper" id="2">
         
     | 
| 
      
 81 
     | 
    
         
            +
              <div class="container">
         
     | 
| 
      
 82 
     | 
    
         
            +
                <div class="row">
         
     | 
| 
      
 83 
     | 
    
         
            +
                  ここにコンテンツ
         
     | 
| 
      
 84 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 85 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 86 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
            ```
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            SSIで呼び出しているheader.htmlが以下。
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
            ```html
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
            <header>
         
     | 
| 
      
 95 
     | 
    
         
            +
              <nav>
         
     | 
| 
      
 96 
     | 
    
         
            +
                <div class="container">
         
     | 
| 
      
 97 
     | 
    
         
            +
                  <div class="row">
         
     | 
| 
      
 98 
     | 
    
         
            +
                     <div class="col-md-4">
         
     | 
| 
      
 99 
     | 
    
         
            +
                       <h1><a href="index.html">サイトタイトル</a></h1>
         
     | 
| 
      
 100 
     | 
    
         
            +
                     </div>
         
     | 
| 
      
 101 
     | 
    
         
            +
                     <div class="col-md-8">
         
     | 
| 
      
 102 
     | 
    
         
            +
                        <ul class="d-none d-md-flex">
         
     | 
| 
      
 103 
     | 
    
         
            +
                         <li><a href="works.html">リスト1</a></li>
         
     | 
| 
      
 104 
     | 
    
         
            +
                         <li><a href="index.html#1">リスト2</a></li>
         
     | 
| 
      
 105 
     | 
    
         
            +
                         <li><a href="index.html#2">リスト3</a></li>
         
     | 
| 
      
 106 
     | 
    
         
            +
                         <li><a href="mailform.html">メールフォーム</a></li>
         
     | 
| 
      
 107 
     | 
    
         
            +
                       </ul>
         
     | 
| 
      
 108 
     | 
    
         
            +
                     </div>
         
     | 
| 
      
 109 
     | 
    
         
            +
                  </div>
         
     | 
| 
      
 110 
     | 
    
         
            +
              </nav>
         
     | 
| 
      
 111 
     | 
    
         
            +
            </header>
         
     | 
| 
      
 112 
     | 
    
         
            +
            ```
         
     | 
| 
      
 113 
     | 
    
         
            +
            header.htmlは、index.html以外のページにおいても、SSIを用いて共通パーツとして呼び出しています。
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
            ヘッダーを固定するのは、ある程度スクロールしたらnavに.is-fixedクラスを付与する形で行っています。jsおよびCSSは以下。
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
            ```js
         
     | 
| 
      
 118 
     | 
    
         
            +
                $(function() {
         
     | 
| 
      
 119 
     | 
    
         
            +
            var $win = $(window),
         
     | 
| 
      
 120 
     | 
    
         
            +
                $main = $('main'),
         
     | 
| 
      
 121 
     | 
    
         
            +
                $nav = $('nav'),
         
     | 
| 
      
 122 
     | 
    
         
            +
                navHeight = $nav.outerHeight(),
         
     | 
| 
      
 123 
     | 
    
         
            +
                navPos = $nav.offset().top,
         
     | 
| 
      
 124 
     | 
    
         
            +
                fixedClass = 'is-fixed';
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
            $win.on('load scroll', function() {
         
     | 
| 
      
 127 
     | 
    
         
            +
              var value = $(this).scrollTop();
         
     | 
| 
      
 128 
     | 
    
         
            +
              if ( value > navPos ) {
         
     | 
| 
      
 129 
     | 
    
         
            +
                $nav.addClass(fixedClass);
         
     | 
| 
      
 130 
     | 
    
         
            +
                $main.css('margin-top', navHeight);
         
     | 
| 
      
 131 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 132 
     | 
    
         
            +
                $nav.removeClass(fixedClass);
         
     | 
| 
      
 133 
     | 
    
         
            +
                $main.css('margin-top', '0');
         
     | 
| 
      
 134 
     | 
    
         
            +
              }
         
     | 
| 
      
 135 
     | 
    
         
            +
            });
         
     | 
| 
      
 136 
     | 
    
         
            +
            });
         
     | 
| 
      
 137 
     | 
    
         
            +
            ```
         
     | 
| 
      
 138 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 139 
     | 
    
         
            +
             
     | 
| 
      
 140 
     | 
    
         
            +
            .is-fixed {
         
     | 
| 
      
 141 
     | 
    
         
            +
              position: fixed;
         
     | 
| 
      
 142 
     | 
    
         
            +
              top: 0;
         
     | 
| 
      
 143 
     | 
    
         
            +
              left: 0;
         
     | 
| 
      
 144 
     | 
    
         
            +
              z-index: 1000;
         
     | 
| 
      
 145 
     | 
    
         
            +
              box-shadow: 0px 0px 6px 3px rgba(79, 79, 79, 0.26);
         
     | 
| 
      
 146 
     | 
    
         
            +
            }
         
     | 
| 
      
 147 
     | 
    
         
            +
            ```
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
            なお、CSSでのheader・navのheight値の指定はしていません。
         
     | 
| 
      
 150 
     | 
    
         
            +
             
     | 
| 
      
 151 
     | 
    
         
            +
            高さ合わせが上手くいく例
         
     | 
| 
      
 152 
     | 
    
         
            +
            ◯works.htmlにいる状態で、index.html#2へのリンクをクリックする(別ページ遷移)
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
      
 154 
     | 
    
         
            +
            高さ合わせが上手くいかない例
         
     | 
| 
      
 155 
     | 
    
         
            +
            ×index.htmlにいる状態で、index.html#2へのリンクをクリックする(同ページ内遷移)
         
     |