先来简单说说原理:监测浏览器滚动条的距离,大于必定长度时,给导航栏添加“position:fixed”,小于则取消,同时还添加了animate自定义的透明度渐变过渡!如今网页也很流行的效果 css
相关jQuery代码段(只需加载<script></script>标签内便可): 浏览器
<script> 测试
$(window).scroll(function(){
var scrollTop = $(window).scrollTop();
if(scrollTop > 66)
$('#Menu').css({position:'fixed',top:'0px'}).stop().animate({'opacity':'1'},400);
else
$('#Menu').css({position:'static'}).stop().animate({'opacity':'1'},400);
});
$('#Menu').hover(function(){
var scrollTop = $(window).scrollTop();
if(scrollTop > 66){
$('#Menu').stop().animate({'opacity':'1'},400);}
},function(){
var scrollTop = $(window).scrollTop();
if(scrollTop > 66){
$('#Menu').stop().animate({'opacity':'1'},400);
}
}); </script> spa
代码中的#Menu需改动为本身导航栏的ID,另外,请用一个div包裹整个导航栏,而后添加和导航栏同高的height站位,防止紧接导航后的元素直接跳上来被覆盖,还有就是给导航加个z-index:9999层设置(转,但已测试成功)。 ip