-
ID:KDPX6l さんの質問

Jqueryライブラリーを試用して、ナビゲーションをクリックしてふんわりとページ内リンク先へ移動するようにしたいのですが、ナビを含んだヘッダー部分を150pxほど固定表示している為、リンク先に行ったときにちょうど150px分あたまが隠れてしまいます。

リンク先のdivごとにmargin-top:150px; padding-top:150pxと各方法もあるようですが、そうすると普通にスクロールしたときに間が空きすぎてしまって見た目がよくないです。

どうしたら良いでしょう?ちなみにスクリプトはどこかからコピーしてきたものを使用してます。
jqueryを独学でやろうとしている初心者なので、どうぞお教えいただければ幸いです。

<script type="text/javascript">
$(function(){
$(’a[href^=#]’).click(function() {
var speed = 500;
var href= $(this).attr("href");
var target = $(href == "#" || href == "" ? ’html’ : href);
var position = target.offset().top;
$($.browser.safari ? ’body’ : ’html’).animate({scroll:position}, speed, ’swing’);
return false;
});
});
</script>

みんなの回答 2 件

ID:XiExDK さんの回答

var position = target.offset().top - 150;
とかで行けませんか??

固定ヘッダーの高さは本当はJSで取得した方が良いですが、良くわからないのであれば固定値で150を指定しちゃっても良いと思います。

ID:KDPX6l さんの回答

出来ました!! 「- 150」と「-150」でも全然違ってくるんですね!
ありがとうございました。

最終更新日:2013-05-11 (5,449 views)

関連するトピックス

ページ上部に戻る