做一個網頁時經常會用到導航欄,導航欄對於一個網站來說,地位是舉足輕重的,在用到導航欄時,我們經常會用到一個效果,就是當頁面滑動到一定的位置時,導航欄需要固定在頁面的頂部,這是怎麼實現的呢?
下面的代碼會告訴你答案
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>頁面滾動到指定位置導航欄固定頂部</title>
<style type="text/css">
body{height: 2500px; margin: 0; padding: 0;}
.banner{height: 250px; width: 100%; background: #e5e5e5;}
.bignav{width: 100%; background: #000;}
.nav{ background:#000; width: 1200px; margin: 0 auto; height: 45px;}
.nav a{display: block; width: 200px;float: left; color: #fff; text-decoration: none; text-align: center; line-height: 45px;}
</style>
</head>
<body>
<div class="banner">
</div>
<div class="bignav" id="bignav">
<div class="nav">
<a href="#">首頁</a>
<a href="#">導航1</a>
<a href="#">導航1</a>
<a href="#">導航1</a>
</div>
</div>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam quis, ducimus reiciendis fugit provident reprehenderit quam, soluta quisquam, tenetur voluptatum quibusdam eum. Necessitatibus molestias natus dolores tempora reiciendis eum dolorum.</p>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam quis, ducimus reiciendis fugit provident reprehenderit quam, soluta quisquam, tenetur voluptatum quibusdam eum. Necessitatibus molestias natus dolores tempora reiciendis eum dolorum.</p>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam quis, ducimus reiciendis fugit provident reprehenderit quam, soluta quisquam, tenetur voluptatum quibusdam eum. Necessitatibus molestias natus dolores tempora reiciendis eum dolorum.</p>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam quis, ducimus reiciendis fugit provident reprehenderit quam, soluta quisquam, tenetur voluptatum quibusdam eum. Necessitatibus molestias natus dolores tempora reiciendis eum dolorum.</p>
<script type="text/javascript">
window.onscroll=function(){
var topScroll =document.body.scrollTop;//滾動的距離,距離頂部的距離
var bignav = document.getElementById("bignav");//獲取到導航欄id
if(topScroll > 250){ //當滾動距離大於250px時執行下面的東西
bignav.style.position = 'fixed';
bignav.style.top = '0';
bignav.style.zIndex = '9999';
}else{//當滾動距離小於250的時候執行下面的內容,也就是讓導航欄恢復原狀
bignav.style.position = 'static';
}
}
/*jquery*/
/* $(window).scroll(function(){
var bignav =$("bignav"); //獲取到導航欄
if($(this).scrollTop() >250){ //當滾動距離大於250px時執行下面的東西
bignav.css({
width:"100%",
position:"fixed",
top:0,
zIndex:9999
});
}
else{//當滾動距離小於250的時候執行下面的內容,也就是讓導航欄恢復原狀
bignav.css("position","static");
}
});*/
</script>
</body>
</html>