首页 >web前端 >js教程 >如何通过jQuery在页面中固定导航栏

如何通过jQuery在页面中固定导航栏

清浅
清浅原创
2018-11-23 17:55:273420浏览

今天将和大家分享一个案例:如何在页面中固定导航栏,有一定的参考价值,希望对大家学习有所帮助。

在做导航栏时除了用我们熟悉的html和CSS来布局以外,还需要用到jQuery中scrollTop和scrollLeft知识,它们主要用于设置或者获取垂直滚动条的位置,根据页面被卷曲的高度来固定导航栏位置,接下来在文章中将和大家详细分享。

scrollTop

返回或设置匹配元素的滚动条的垂直位置。

$(selector).scrollTop(offset)

offset : 规定相对滚动条顶部的偏移,以像素为单位,可以写也可以不写   

例: 获取页面被卷曲的高度

$(window).scrollTop();

scrollLeft

返回或设置匹配元素的滚动条的水平位置。

水平位置指的是从其左侧滚动过的像素数,

当滚动条位于最左侧时,位置是 0。

$(selector).scrollLeft(position)

position:规定以像素计的新位置,可以写也可以不写

滚动条的水平位置指的是从其左侧滚动过的像素数。当滚动条位于最左侧时,位置是 0。

例:获取页面被卷曲的宽度

$(window).scrollLeft();

案例分享:固定百度搜索栏

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
padding:0;
margin:0;

}
.all{
width:100%;
height:2000px;
}
.box{
width:100%;
height:75px;
background-color: #fff;
border: 1px solid #ccc;
position: relative;
}
.sousu-left img{
position: absolute;
top:20.5%;
left:28.45%;
}
.box1{width:536px;
      height: 41px;
      border:1px solid #ccc;
      margin:16px auto;
  }

.sousu-right span{
width:140px;
height:41px;
border:1px solid #ccc;
color:#fff;
background-color:rgb(51,136,255);
text-align: center;
line-height: 41px;
font-size:14px;
position: absolute;
right:28.64%;
top:19.69%;
      }
  .fixed{
   position: fixed;
   left:0;
   top:0;
  }
</style>
</head>
<body>
<div>
<div>
<!-- 定义左边和右边两个盒子 -->
<div>
<img src="images/logo_top_86d58ae1.png">
<div></div>
</div>
<div>
<span>百度一下</span>
</div>
</div>
</div>
<script src="jquery/jquery-1.12.4.js"></script>
<script>
$(function(){
$(window).scroll(function(){
if($(window).scrollTop()>=$(".box").height())判断当卷曲的高度大于box高度时给box添加一个fixed属性,使它固定在顶部
{
$(".box").addClass("fixed");
}
else{
$(".box").removeClass("fixed");如果小于则移除class属性
}
})
})
</script>
</body>
</html>

Image 18.jpg

总结:以上就是本篇文章的全部内容了,希望通过这个案例大家对scrollTop和scrollLeft的应用更加清楚


以上是如何通过jQuery在页面中固定导航栏的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn