jQueryスクロール方向によるナビゲーションバーアニメーション
ターゲット:
jQueryを実現してスクロールバーの方向を判断してナビゲーションバーのアニメーションをします:下にスクロールしてナビゲーションバーを隠して、上にスクロールしてナビゲーションバーを表示します!
効果図:
実現構想:
まずHTML構造を静的にレイアウトし、擬似クラス:hoverを使用してアニメーション効果をシミュレートし、jQueryを使用してアニメーションクラスの切り替えを制御して効果を実現します!
コード実装:
HTML:
CSS:
jQuery:
まとめ:
このナビゲーションバーのアニメーション効果は1ページの内容の長いページを使って、ナビゲーションバーを迅速に位置決めすることができて、便利で速くて、ユーザーの体験性が良いです!主にJQのscroll()イベント、scrollTop()、addClass()、removeClass()メソッド、スクロール方向の判断方法を使用しています!
jQueryを実現してスクロールバーの方向を判断してナビゲーションバーのアニメーションをします:下にスクロールしてナビゲーションバーを隠して、上にスクロールしてナビゲーションバーを表示します!
効果図:
実現構想:
まずHTML構造を静的にレイアウトし、擬似クラス:hoverを使用してアニメーション効果をシミュレートし、jQueryを使用してアニメーションクラスの切り替えを制御して効果を実現します!
コード実装:
HTML:
<!-- : js ! -->
<div class="top">
<div class="main">
<div class="logo img">
LOGO
</div>
<div class="nav">
<ul>
<li><a href="#"> </a></li>
<li class="l2"><a href="#"> </a></li>
<li class="l2"><a href="#"> </a></li>
<li><a href="#"> </a></li>
<li><a href="#"> </a></li>
<li><a href="#"> </a></li>
</ul>
</div>
<div class="login">
<a href="#" class="a1"> </a>
<a href="#" class="a2"> </a>
</div>
</div>
</div>
CSS:
*{margin:0px;padding:0px;font-family:"Microsoft Yahei";}
body{
padding-top:60px;
}
.top{
width:100%;height:60px;background:#15171f;
// ,
position: fixed;
top:-60px;
transition:all 0.4s linear;
}
//
/*.top:hover{ top:0; }*/
//
.top.on{
top:0;
}
.main{width:1110px;height:60px;
margin:0px auto;
}
.logo{width:103px;height:28px;
margin-top:16px;float:left;}
.img{
width:103px;height:28px;
text-align: center;
color:#fff;
}
.nav{width:600px;height:60px;
float:left;margin-left:100px;}
.nav ul li{list-style-type:none;
width:80px;line-height:58px;text-align:center;
float:left;
padding:0 10px;//
}
.nav ul li a{font-size:14px;color:#fff;
text-decoration:none;
}
.nav li:hover{background:#00cece;}
.login{width:120px;height:30px;
float:right;
margin-top:15px;
}
.login a {color:#fff;font-size:14px;
text-decoration:none;
width:55px;height:30px;
display:block;
line-height:30px;
text-align:center;
border:1px solid #ddd;
}
.login .a1{float:left;}
.login .a1:hover{background:#00cece;}
.login .a2{float:right;background:#5580fb;}
.fixed{position:fixed;top:0px;}
jQuery:
$(function(){
//
var top1=$(window).scrollTop();
//
var top2;
var topDom=$(".top");
//
topDom.addClass('on');
$(window).scroll(function(){
//
top2=$(this).scrollTop();
//top2>top1
if(top2>top1){
topDom.removeClass('on');
}else{
topDom.addClass('on');
}
// !
top1=top2;
});
// DOM
for(var i=0;i<50;i++){
$("body").append('<p>'+i+'</p>');
}
});
まとめ:
このナビゲーションバーのアニメーション効果は1ページの内容の長いページを使って、ナビゲーションバーを迅速に位置決めすることができて、便利で速くて、ユーザーの体験性が良いです!主にJQのscroll()イベント、scrollTop()、addClass()、removeClass()メソッド、スクロール方向の判断方法を使用しています!