前提・実現したいこと
ホームページのヘッダーを、
例えば、現在の位置が500px以上なら、
固定表示するプログラムをJava scriptで見つけました。
以下は実現できています。
500px以上なら、上からニュルッ(アニメーション)と固定表示され、
500px以下なら、スッと消える(アニメーションなし)ヘッダー。
実現したいのは、
500px以下なら、下からニュルッ(アニメーション)と消えるヘッダーです。
発生している問題
○○○px以下の場合に、ヘッダーが下からニュルッと消えるアニメーションが付けられない
該当のソースコード
Java
1$(function() { 2 var headNav = $("header"); 3 //scrollだけだと読み込み時困るのでloadも追加 4 $(window).on('load scroll', function () { 5 //現在の位置が500px以上かつ、クラスfixedが付与されていない時 6 if($(this).scrollTop() > 500 && headNav.hasClass('fixed') == false) { 7 //headerの高さ分上に設定 8 headNav.css({"top": '-62px'}); 9 //クラスfixedを付与 10 headNav.addClass('fixed'); 11 //位置を0に設定し、アニメーションのスピードを指定 12 headNav.animate({"top": 0},600); 13 } 14 //現在の位置が500px以下かつ、クラスfixedが付与されている時にfixedを外す 15 else if($(this).scrollTop() < 500 && headNav.hasClass('fixed') == true){ 16 headNav.removeClass('fixed'); 17 } 18 }); 19}); 20
HTML
1<header> 2 <nav class="g-nav"> 3 <ul class="g-nav-menu"> 4 <li>HOME</li> 5 <li>ABOUT</li> 6 <li>CONTCT</li> 7 </ul> 8 </nav> 9</header> 10 11<section id="sec01"> 12 <p>コンテンツ1</p> 13</section> 14 15 <section id="sec02"> 16 <p>コンテンツ2</p> 17</section> 18 19 <section id="sec03"> 20 <p>コンテンツ3</p> 21</section> 22
CSS
1header{ 2background: #155263; 3position: relative; 4width: 100%; 5} 6.g-nav{ 7width: 100%; 8z-index: 10; 9} 10.g-nav-menu{ 11text-align: center; 12} 13.g-nav-menu li{ 14color: #fff; 15padding: 0 30px; 16list-style-type: none; 17display: inline-block; 18line-height: 80px; 19} 20.fixed{ 21position: fixed; 22top: 0; 23left: 0; 24} 25.fixed .g-nav-menu li{ 26line-height: 40px; 27} 28section{ 29display: table; 30width: 100%; 31height: 800px; 32text-align: center; 33} 34section p{ 35display: table-cell; 36vertical-align: middle; 37color: #fff; 38} 39#sec01{ 40background: #FF6F3C; 41} 42#sec02{ 43background: #FF9A3C; 44} 45#sec03{ 46background: #FFC93C; 47} 48
試したこと
特になし
補足情報(FW/ツールのバージョンなど)
特になし
回答1件
あなたの回答
tips
プレビュー