jquery实现顶部导航栏
原理:当页面滚动至顶部导航栏被隐藏时,(根据自己导航栏高度自行调整)将顶部导航栏固定到页面的最顶部;
核心方法:scroll()当滚动条滑动时会触发改方法
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./jquery-1.12.4.js"></script>
<style>
body,
ul {
padding: 0;
margin: 0;
}
nav {
width: 980px;
margin: auto;
border: 1px solid red;
height: 50px;
background: #fff;
}
li,
ul {
list-style: none;
}
li {
float: left;
margin: 0 10px;
padding: 5px;
}
div {
/* width: 100px;
height: 100px;
position: absolute;
top: 1000px; */
}
.demo {
height: 50px;
}
.top {
position: fixed;
top: 0;
left: 0;
right: 0;
margin: auto;
}
</style>
</head>
<body>
<nav>
<ul>
<li>Lorem.</li>
<li>Accusantium!</li>
<li>Alias.</li>
<li>Commodi.</li>
<li>Dolorum.</li>
<li>Minima!</li>
<li>Eveniet.</li>
<li>Earum!</li>
<li>Deserunt.</li>
<li>Nemo?</li>
</ul>
</nav>
<div>此处放入大量文字将高度撑起来即可查看到效果</div>
<script>
// 滚动事件 scroll
// 当滚动条滚动一定距离 > 100 让导航栏定位在顶部 当滚动条 < 100 让导航栏回到原位
$(document).scroll(function() {
if ($(this).scrollTop() >= 100) {
// 让导航栏定位在顶部
$('nav').addClass('top');
} else {
$('nav').removeClass('top');
}
})
</script>
</body>
</html>