jquery实现网页导航特效

慕课网的学习视频笔记: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>


 
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值