< 記事共通の特徴 >

全デモのソース一式がダウンロード可能です。
ソース一式はローカル環境ですぐに使える構成になっています。

指定コンテンツ位置までのスクロール方法01
(固定ヘッダなしの場合)

上部固定メニューの作り方01
(常時表示)


指定コンテンツ位置までのスクロール方法02
(固定ヘッダありの場合)

固定ヘッダの分ずらした位置にスクロールさせる

解説

ずらした位置へのスクロール

前記事で書いたように、指定コンテンツ位置までのスクロールは下記コードです。
var position = $('#content').offset().top; 
$('body,html').animate({scrollTop:position}, 'slow');

よって、指定コンテンツ位置から少しずらした位置にスクロールするのは下記コードになります。
var position = $('#content').offset().top - offset_length; 
$('body,html').animate({scrollTop:position}, 'slow'); 
※ offset_length 分だけスクロール位置が上にズレます。

固定ヘッダーの高さ取得

固定ヘッダの高さは下記コードで取得できます。
var menu_height = $('.menu').outerHeight();
※ .menu 部分には固定ヘッダ部分を示す id または クラスを指定します。
※ $('.menu').height() でも高さを取得できますが、その場合は padding を除いた高さになるので注意が必要です。

まとめ

上記ポイントをまとめると、下記のようなコードになります。
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
  <style>
    body, html { margin: 0; }
    .menu {
      width: 100%;
      position: fixed;
      padding: 20px 0px;
      background: #88ccff;
    }
  </style>
</head>
<body>
  <div class="menu">
    <a href="javascript:jump_to_content('.num01');" class="hover">Goto[1]</a>
    <a href="javascript:jump_to_content('.num02');" class="hover">Goto[2]</a>
    <a href="javascript:jump_to_content('.num03');" class="hover">Goto[3]</a>
  </div><!-- menu -->

  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>

  <div class="content num01">コンテンツ1</div><!-- content --><br/>
  <div class="content num02">コンテンツ2</div><!-- content --><br/>
  <div class="content num03">コンテンツ3</div><!-- content --><br/>

  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>

<script>
  function jump_to_content(number) {
    var target   = $(number);
    var menu_height = $('.menu').outerHeight(); 
    var position = target.offset().top - menu_height;
    $('body,html').animate({scrollTop:position}, 'slow');
  }
</script>
</body>

</html>   

指定コンテンツ位置までのスクロール方法01
(固定ヘッダなしの場合)

上部固定メニューの作り方01
(常時表示)