欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

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

程序员文章站 2022-03-09 19:30:56
...
今天将和大家分享一个案例:如何在页面中固定导航栏,有一定的参考价值,希望对大家学习有所帮助。

在做导航栏时除了用我们熟悉的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>

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

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

以上就是如何通过jQuery在页面中固定导航栏的详细内容,更多请关注其它相关文章!

相关标签: scrollTop,scrollLeft