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 件
var position = target.offset().top - 150;
とかで行けませんか??
固定ヘッダーの高さは本当はJSで取得した方が良いですが、良くわからないのであれば固定値で150を指定しちゃっても良いと思います。
出来ました!! 「- 150」と「-150」でも全然違ってくるんですね!
ありがとうございました。
関連するトピックス