做一个网页时经常会用到导航栏,导航栏对于一个网站来说,地位是举足轻重的,在用到导航栏时,我们经常会用到一个效果,就是当页面滑动到一定的位置时,导航栏需要固定在页面的顶部,这是怎么实现的呢?
下面的代码会告诉你答案
<!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>