慕课网的学习视频笔记:http://www.imooc.com/learn/56
特效分析
分为左右两部分:
左侧的内容,右侧悬浮的导航菜单
左侧滚动时,右侧内容不改变位置
点击右侧链接,左侧定位到相应栏目
左侧滚动到相应栏目,右侧定位到对应链接
特效设计
技术点:
1.锚点(anchor):锚点是网页制作中超链接的一种,又叫命名锚记。锚点是一种页面内的超级链接。
2.关于滚动条定位的事件和方法(借助jQuery)
注:1.html5取消了元素的name属性,可以使用id进行锚点链接<a href="#item1"></a><div id="item1"></div>
2.jquery通过id筛选比通过class筛选效率要高
<pre name="code" class="html"><pre name="code" class="html"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style>
<span style="white-space:pre"> </span>*{
padding:0;
margin:0;
}
body{
font-size:12px;
line-height:1.7}
li{
list-style:none;
}
#content{
margin: 0 auto;/*居中显示*/
width:800px;
padding:20px;
}
#content .item{
padding:20px;
margin-bottom:20px;
border:1px dotted #0088bb;}
#content .item h2 {
<span style="white-space:pre"> </span>font-size: 16px;
<span style="white-space:pre"> </span>font-weight: bold;
<span style="white-space:pre"> </span>border-bottom: 2px solid #0088bb;
<span style="white-space:pre"> </span>margin-bottom: 10px;
<span style="white-space:pre"> </span> }
#content .item li {
<span style="white-space:pre"> </span>display: inline;
<span style="white-space:pre"> </span>margin-right: 10px;
<span style="white-space:pre"> </span> }
#content .item li a img {
<span style="white-space:pre"> </span>width: 230px;
<span style="white-space:pre"> </span>height: 230px;
<span style="white-space:pre"> </span>border: none;
<span style="white-space:pre"> </span> }
#menu{
<span style="white-space:pre"> </span>position:fixed;
top:100px;
left:50%;
margin-left:400px;
width:80px;
}
#menu ul li a{
display:block;
margin:5px 0;
font-size:14px;
font-weight:bold;
width:80px;
height:50px;
text-decoration:none;
text-align:center;
color:#333;
line-height:50px;
}
#menu ul li a:hover,
#menu ul li a.current{
color:#fff;
background-color:#0088bb;
}
</style>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(window).scroll(function () {
var items = $("#content").find(".item");
var menu = $("#menu");
var top = $(document).scrollTop();
var currentId = ""; //滚动条现在所在位置的item id
items.each(function () {
var m = $(this);
//注意:m.offset().top代表每一个item的顶部位置
if (top > m.offset().top - 300) {
currentId = "#" + m.attr("id");
} else {
return false;
}
});
var currentLink = menu.find(".current");
if (currentId && currentLink.attr("href") != currentId) {
currentLink.removeClass("current");
menu.find("[href=" + currentId + "]").addClass("current");
}
});
});
</script>
</head>
<body>
<div id="menu">
<ul>
<li><a href="#item1" class="current">1F 男装</a></li>
<li><a href="#item2">2F 女装</a></li>
<li><a href="#item3">3F 美妆</a></li>
<li><a href="#item4">4F 数码</a></li>
<li><a href="#item5">5F 母婴</a></li>
</ul>
</div>
<div id="content">
<h1>购物网</h1>
<div id="item1" class="item">
<h2>1F 男装</h2>
<ul>
<li><a href="#"><img src="1F.jpg" alt="" /></a></li>
<li><a href="#"><img src="1F.jpg" alt="" /></a></li>
<li><a href="#"><img src="1F.jpg" alt="" /></a></li>
<li><a href="#"><img src="1F.jpg" alt="" /></a></li>
<li><a href="#"><img src="1F.jpg" alt="" /></a></li>
<li><a href="#"><img src="1F.jpg" alt="" /></a></li>
<li><a href="#"><img src="1F.jpg" alt="" /></a></li>
<li><a href="#"><img src="1F.jpg" alt="" /></a></li>
<li><a href="#"><img src="1F.jpg" alt="" /></a></li>
</ul>
</div>
<div id="item2" class="item">
<h2>2F 女装</h2>
<ul>
<li><a href="#"><img src="2F.jpg" alt="" /></a></li>
<li><a href="#"><img src="2F.jpg" alt="" /></a></li>
<li><a href="#"><img src="2F.jpg" alt="" /></a></li>
<li><a href="#"><img src="2F.jpg" alt="" /></a></li>
<li><a href="#"><img src="2F.jpg" alt="" /></a></li>
<li><a href="#"><img src="2F.jpg" alt="" /></a></li>
<li><a href="#"><img src="2F.jpg" alt="" /></a></li>
<li><a href="#"><img src="2F.jpg" alt="" /></a></li>
<li><a href="#"><img src="2F.jpg" alt="" /></a></li>
</ul>
</div>
<div id="item3" class="item">
<h2>3F 美妆</h2>
<ul>
<li><a href="#"><img src="3F.jpg" alt="" /></a></li>
<li><a href="#"><img src="3F.jpg" alt="" /></a></li>
<li><a href="#"><img src="3F.jpg" alt="" /></a></li>
<li><a href="#"><img src="3F.jpg" alt="" /></a></li>
<li><a href="#"><img src="3F.jpg" alt="" /></a></li>
<li><a href="#"><img src="3F.jpg" alt="" /></a></li>
<li><a href="#"><img src="3F.jpg" alt="" /></a></li>
<li><a href="#"><img src="3F.jpg" alt="" /></a></li>
<li><a href="#"><img src="3F.jpg" alt="" /></a></li>
</ul>
</div>
<div id="item4" class="item">
<h2>4F 电器</h2>
<ul>
<li><a href="#"><img src="4F.png" alt="" /></a></li>
<li><a href="#"><img src="4F.png" alt="" /></a></li>
<li><a href="#"><img src="4F.png" alt="" /></a></li>
<li><a href="#"><img src="4F.png" alt="" /></a></li>
<li><a href="#"><img src="4F.png" alt="" /></a></li>
<li><a href="#"><img src="4F.png" alt="" /></a></li>
<li><a href="#"><img src="4F.png" alt="" /></a></li>
<li><a href="#"><img src="4F.png" alt="" /></a></li>
<li><a href="#"><img src="4F.png" alt="" /></a></li>
</ul>
</div>
<div id="item5" class="item">
<h2>5F 母婴</h2>
<ul>
<li><a href="#"><img src="5F.jpg" alt="" /></a></li>
<li><a href="#"><img src="5F.jpg" alt="" /></a></li>
<li><a href="#"><img src="5F.jpg" alt="" /></a></li>
<li><a href="#"><img src="5F.jpg" alt="" /></a></li>
<li><a href="#"><img src="5F.jpg" alt="" /></a></li>
<li><a href="#"><img src="5F.jpg" alt="" /></a></li>
<li><a href="#"><img src="5F.jpg" alt="" /></a></li>
<li><a href="#"><img src="5F.jpg" alt="" /></a></li>
<li><a href="#"><img src="5F.jpg" alt="" /></a></li>
</ul>
</div>
</div>
</body>
</html>