実現したいこと:
スクロールに伴うナビゲーションバーの挙動にしたい
問題点:
最初からナビゲーションバーが固定になっており、
少しスクロールすると、ナビゲーションバーの上部パーツ分の空間が開いてしまう。
参考:
jQuery:スクロールしたらヘッダーやナビゲーションを固定・変化させる動きを実装するサンプルコード 5
html
1<div id="grLabel">...</grLabel> <!--参考サイトの<header>に当たる--> 2<div id="header">...</header> <!--参考サイトの<nav>に当たる--> 3<div id="header_cover">...</hCover> <!--参考サイトの<main>に当たる-->
JQuery
1<script> 2 $(function() { 3 var $win = $(window), 4 $header = $('#header'), 5 $hCover = $('#header_cover'), 6 headerHeight = $header.outerHeight(), 7 headerPos = $header.offset().top, 8 fixedClass = 'is-fixed'; 9 10 $win.on('load scroll', function() { 11 var value = $(this).scrollTop(); 12 if ( value > headerPos ) { 13 $header.addClass(fixedClass); 14 $hCover.css('margin-top', headerHeight); 15 } else { 16 $header.removeClass(fixedClass); 17 $hCover.css('margin-top', '0'); 18 } 19 }); 20}); 21</script>
参考サイトと同じになるように書き換えたつもりですが、
参考サイトのDemoのように、ナビゲーションバーが動いてくれません。
ほかのプログラムが邪魔している可能性もあります。
回答1件
あなたの回答
tips
プレビュー