質問: target.offset().top - headerHight; //ヘッダの高さ分位置をずらす $("html, body").animate({ scrollTop: position }, 400, "swing"); return false; }); }); ``` 移動先のターゲット(var target)は、ヘッダー固定前と固定後で、値は変わりません。 しかし、ターゲットの座標を取得すると、ヘッダー固定前と固定後で値が変わっています。 ### 試したこと target.offset().topをtarget.get( 0 ).offsetTopにしたりしてみましたが、解決できず。
回答: まず、headerHeight という変数名を間違えているので修正します。 クリック時にヘッダーが絶対配置でないならスクロール中に絶対配置になって全体のレイアウトが変わるため、あらかじめ計算しておきましょう。 ``` if ($('.scroll-header').css('position') !== 'fixed') { headerHeight += headerHeight; } ```