模拟天猫--网页定位导航效果

时间:2022-12-16 22:53:57

分为左右两部分

左侧内容,右侧炫富的导航菜单

左侧滚动时,右侧内容不改变位置

点击右侧链接,左侧定位到相应栏目

左侧滚动到相应栏目,右侧定位到对应链接

锚点(anchor):锚点是网页制作中超链接的一种,又叫命名锚记。锚点是一种页面内的超级链接

jQuery事件:

1、scroll([data],fn):当用户滚动指定的元素时,会发生scroll事件适用于所有可滚动的元素和window对象(浏览器窗口)。例如当页面滚动条发生变化时执行函数:

$(window).scroll(function(){/*........*/});

2、scrollTop([val]):获取/设置匹配元素相对滚动条顶部的偏移

3、offset():获取匹配元素的相对偏移。返回的对象包含两个整型属性:top和left,以像素计。

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>购物网-网页定位导航效果</title>
<style>
* {margin: 0;padding: 0;}
body { font-size: 12px; line-height: 1.7; }
li { list-style: none; }
#content { width: 800px; margin: 0 auto; padding: 20px; }
#content h1 { color: #0088bb; }
#content .item { padding: 20px; margin-bottom: 20px; border: 1px dotted #0088bb; }
#content .item h2 { font-size: 16px; font-weight: bold; border-bottom: 2px solid #0088bb; margin-bottom: 10px; }
#content .item li { display: inline; margin-right: 10px; }
#content .item li a img { width: 230px; height: 230px; border: none; }
#menu { position: fixed; top: 100px; left: 50%; margin-left: 400px; width: 50px; }
#menu ul li a { display: block; margin: 5px 0; font-size: 14px; font-weight: bold; color: #333; width: 80px;height: 50px;line-height: 50px;text-decoration: none;text-align: center;}
#menu ul li a:hover,#menu ul li a.current { color: #fff; background: #0088bb; }
/* ie6 hack */
* html, * html body { background-image: url(about:blank); background-attachment: fixed; }
* html #menu { /* position: fixed; */ position: absolute; bottom: auto; top: expression(100+((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+'px'); }
</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 menu=$("#menu");
var items=$("#content").find(".item");
var top=$(document).scrollTop();
var currentId="";//滚动条现在所在位置的item id
items.each(function(){
var m=$(this);
var itemTop=m.offset().top;
if(top>itemTop-300){
currentId="#"+m.attr("id");
}else{
return false;
}
});
//给相应楼层的a设置current,取消其他链接的current
var currentLink=menu.find(".current");
if(currentId&¤tLink.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>