<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>侧边悬浮导航菜单</title>
<style type="text/css">
/*重置默认属性*/
*{
padding:0px;
margin:0px;
font-size:12px;
}
ul{
list-style-type: none;
}
a{
text-decoration: none;
}
/*content*/
#content{
width: 800px;
margin:0 auto;
padding:20px;
}
#content h1{
font-size: 18px;
font-weight: bold;
color:#0088bb;
}
.floor{
border:1px solid #ddd;
padding:20px;
margin-bottom: 10px;
}
.floor h2{
border-bottom: 2px solid #0088bb;
font-size: 16px;
padding-bottom: 5px;
}
.floor li{
display:inline-block;
margin:5px;
}
.floor img{
width:230px;
height:230px;
border:none;
}
/*menu*/
#menu{ /*重点*/
position: fixed;
top:100px;
left:50%; /*先让元素居中*/
margin-left: 400px; /*根据内容的宽度使其偏移至刚好贴合内容框*/
width:80px;
}
#menu li{
height: 30px;
line-height: 30px;
border:1px solid #ddd;
}
#menu a{
font-size: 15px;
font-weight: bold;
color:#0088bb;
display: block;
text-align: center;
}
#menu a:hover,
#menu a.current{
color:white;
background-color: #0088bb;
border:none;
}
</style>
</head>
<body>
<div id="menu">
<ul>
<li><a href="#floor1" class="current">1F 男装</a></li>
<li><a href="#floor2">2F 女装</a></li>
<li><a href="#floor3">3F 美妆</a></li>
<li><a href="#floor4">4F 数码</a></li>
<li><a href="#floor5">5F 母婴</a></li>
</ul>
</div>
<div id="content">
<h1>XXXXX</h1>
<div id="floor1" class="floor">
<h2>1F 男装</h2>
<ul>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
</ul>
</div>
<div id="floor2" class="floor">
<h2>2F 女装</h2>
<ul>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
</ul>
</div>
<div id="floor3" class="floor">
<h2>3F 美妆</h2>
<ul>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
</ul>
</div>
<div id="floor4" class="floor">
<h2>4F 数码</h2>
<ul>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
</ul>
</div>
<div id="floor5" class="floor">
<h2>5F 母婴</h2>
<ul>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
<li><a href=""><img src="a.jpeg"></a></li>
</ul>
</div>
</div>
<script type="jquery-3.2.1.js">
$(document).ready(function(){
//监听滚动条
$(window).scroll(function(){
//滚动条距顶部距离
var H=$(document).scrollTop();
//添加导航栏联动效果
var menu=$("#menu");
var floors=$(".floor");
var active_floor_id="";
floors.each(function(){
var m=$(this);
var floor_top=m.offset().top();
if(H>floor_top){
active_floor_id="#"+m.attr('id');
}
else{
return;
}
});
//给相应栏目的导航的链接设置.current,取消其余的.current
var currentLink=menu.find(".current");
if(currentId&¤tLink.attr("href")!=active_floor_id){
currentLink.removeClass("current");
menu.find("[href='"+currentId+"']").addClass("current");
}
});
});
</script>
</body>
</html>