jQuery实现页面锚点滚动效果

<!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=utf-8" />
<title>animate锚点链接示例</title>
<script type="text/javascript" src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js"></script> 
<script type="text/javascript">
$(function(){
	$('.first,.second,.third').click(function(){
		var cl = $(this).attr('class');
		$('#aaa').animate({scrollTop: $('.'+cl+'_content').offset().top-30}, 500);
	})
})
</script>
</head>

<body>
<a href="javascript:;" class="first">第一章</a>
<a href="javascript:;" class="second">第二章</a>
<a href="javascript:;" class="third">第三章</a>
<div id="aaa" style="width:600px;height:400px;overflow-y:scroll;">
<h4 class="first_content">第一章</h4>
<div>
	第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
    第一章节内容<br />
</div>
<h4 class="second_content">第二章</h4>
<div>
	第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
    第二章节测试 链接查一查器<br />
</div>
<h4 class="third_content">第三章</h4>
<div>
	第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
    第三章节 对代码进行修改<br />
</div>
</div>
<a href="javascript:;" class="first">第一章</a>
<a href="javascript:;" class="second">第二章</a>
<a href="javascript:;" class="third">第三章</a>
</body>
</html>

  

 

核心代码:$('html,body').animate({scrollTop: $('.'+cl+'_content').offset().top}, 1500);

让滚动条在指定时间内,滚动到指定元素的位置。

scrollTop 相对滚动条顶部的偏移

offset获取元素偏移量.top表示获取元素距离顶端的位置,.left表示获取元素距离左侧的位置

posted @ 2017-08-24 18:52  有梦就能实现  阅读(2784)  评论(0编辑  收藏  举报