<jQuery>导航的滚动锚点

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Scrolling Menu</title>
<link rel="stylesheet" href="menu.css">
</head>

<body>
	<div id="menu">
    	<ul>
        	<li><a class="active" href="#floor-1">1st Floor</a></li>
            <li><a href="#floor-2">2nd Floor</a></li>
            <li><a href="#floor-3">3rd Floor</a></li>
            <li><a href="#floor-4">4th Floor</a></li>
            <li><a href="#floor-5">5th Floor</a></li>
        </ul>
    </div>
    <div id="content">
    	<div class="floor" id="floor-1">
        	<p>1</p>
        </div>
        <div class="floor" id="floor-2">
        	<p>2</p>
        </div>
        <div class="floor" id="floor-3">
        	<p>3</p>
        </div>
        <div class="floor" id="floor-4">
        	<p>4</p>
        </div>
        <div class="floor" id="floor-5">
        	<p>5</p>
        </div>
    </div>
    <script src="jquery-1.11.1.min.js"></script>
    <script src="menu.js"></script>
</body>
</html>
/* CSS Document */
body{
	color:white;
}
.floor{
	height:800px;
	background:black;
}

#menu{
	background:white;
	color:black;
	position:fixed;
	top:50%;
	right:5%;
	padding:0;
}
ul{
	padding:0;
	margin:0;
}
li{
	display:block;
}
a{
	text-decoration:none;
	color:black;
}
.active{
	background:grey;
}

$(document).ready(function() {
    $(window).scroll(function(){
		
		var top=$(window).scrollTop();
		var nav=$("#menu");
		var cont=$("#content .floor");
		var curId="";
		
		cont.each(function() {
			var $this=$(this);
            var itemTop=$(this).offset().top;
			if(top>itemTop-100){
				curId="#"+$this.attr("id");
			}else{
				return false;
			}
        });
		
		var currentLink=nav.find(".active");
		if(curId&¤tLink.attr("id")!==curId){
			currentLink.removeClass("active");
			nav.find("[href="+curId+"]").addClass("active");
		}
	});
});


http://download.youkuaiyun.com/detail/qq_17615475/9485858


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值