导航栏下拉至一定高度后固定在顶部的特效代码

发布时间:2019-12-19 13:57:29   分类:网页代码0
【前言】

导航栏下拉至一定高度后固定在顶部,其实现的特效方法有多种,这里介绍个最简单易懂的方法,通过jQuery添加移除类来实现。

注意:dispaly:fixed;会使元素脱离文档,不占据文档空间。所以页面会有一些跳动,这时可以给相邻元素加上nav所占高度的margin-top或padding-top即可

 

【主体】

(1)“导航栏下拉至一定高度后固定在顶部的特效”,也有同学喜欢叫跟随导航什么的,反正就是这个么意思。先直接上代码:

Js代码:
<script type="text/javascript">  
$(function(){  
var nav=$(".nav"); //得到导航对象  
var win=$(window); //得到窗口对象  
var sc=$(document);//得到document文档对象。  
win.scroll(function(){  
  if(sc.scrollTop()>=100){  
    nav.addClass("fixednav");   
  }else{  
   nav.removeClass("fixednav");  
  }  
})    
})  
</script>  

将这个js放到要实现效果的页面里,然后我们要修改的是第三行的.nav,“nav“改成你自己页面导航栏的class;第七行的”100“为下拉到100个像素的时候触发特效,可以自行修改至合适的高度。

 
(2)然后在css文件里面增加这个属性:

Css代码:
.fixednav {  
    position: fixed;  
    top: 0px;  
    left: 0px;  
    width: 100%;  
    z-index: 999;  
}  

这样就差不多完成了。

【总结】大概讲下这个js的意思,判断下拉到一定高度的时候,给导航栏的div插入一个”fixednav“属性,然后给”fixednav“加上固定在顶部的参数。
QQ咨询