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