ここにあるようなナビゲーション バーを再作成するにはどうすればよいですか
ここでスクロールすると、上部にナビゲーション バーが表示されるだけでなく、会社のシンボルがナビゲーション バーにフェードインします。
誰かが私を助けたり、正しい方向に導いてくれませんか?
ここにあるようなナビゲーション バーを再作成するにはどうすればよいですか
ここでスクロールすると、上部にナビゲーション バーが表示されるだけでなく、会社のシンボルがナビゲーション バーにフェードインします。
誰かが私を助けたり、正しい方向に導いてくれませんか?
私はこれを作成しました:
jQuery:
var navPos = $('#nav').offset().top;
$(window).scroll(function(){
var fixIT = $(this).scrollTop() >= navPos;
var setPos = fixIT ? 'fixed' : 'relative' ;
var logoSH = fixIT ? 'show' : 'hide' ;
$('#nav').css({position: setPos});
$('#mini-logo')[logoSH](300);
});
HTML:
<div id="header">
<h1>Company logo</h1>
<div id="navigation">
<ul id="nav">
<li id="mini-logo"><a href="#">LOGO</a></li>
<li><a href="#">PRODUCT</a></li>
<li><a href="#">RESOURCES</a></li>
<li><a href="#">CUSTOMERS</a></li>
<li><a href="#">SUPPORT</a></li>
<li><a href="#">COMPANY</a></li>
</ul>
</div>
</div>
CSS:
#header{
background:#eee;
}
#header h1{
padding:20px;
}
#navigation{
height:40px;
}
#nav{
position:relative;
top:0;
width:100%;
list-style:none;
background:#76A000;
height:40px;
}
#nav li{
float:left;
}
#nav a{
text-decoration:none;
display:block;
padding:10px 10px;
color:#fff;
}
#nav li#mini-logo{
display:none;
font-weight:bold;
}
トリックは、 の位置を取得する#nav
ことです。ページをスクロールすると、位置が よりも小さい場合に何らかの処理が行われますwindow scrollTop
。
その滑らかな効果を実現するには、「ジャンピー」効果を防ぐために、#nav
位置を に設定したら、代わりの要素があることを確認する必要があります。
その要素は、子と同じ高さを持つの親です。fixed
nav
#navigation
これは、スクロール部分を探しているものです
http://pmbennett.net/2010/02/09/fixed-scrolling-navigation/
ロゴをフェードインするには、http: //api.jquery.com/fadeIn/を使用してください。
else { } 内