我试图将平滑滚动实现到信息索引中。我看过这个jsFiddle http://jsfiddle.net/9SDLw/,我无法让它工作。代码插入到HTML文档中的位置是否重要?
这是我的代码:
JS(文件负责人):
<script type="text/javascript">
$('a').click(function(){
$('html, body').animate({
scrollTop: $( $(this).attr('href') ).offset().top
}, 500);
return false;
});
</script>
标记:
链接
<a href = "#G" rel = "" id="G" class="anchorLink">G</a><br />
锚
<a name = "G" id="G"><span class = "letters">G</span></a><br />
我在这里缺少什么?
答案 0 :(得分:10)
<强> jsBin demo 强>
<ul id="links">
<li><a href="#a">Go to a</a></li>
<li><a href="#b">Go to b</a></li>
</ul>
而不是文档中的某个地方......
<h2 id="a">Article "a"</h2>
Lorem......
<h2 id="b">Article "b"</h2>
Lorem......
JQ:
$('#links a').click(function( e ){
e.preventDefault();
var targetId = $(this).attr("href");
var top = $(targetId).offset().top;
$('html, body').stop().animate({scrollTop: top }, 1500);
});
以上操作是使用检索到的锚href
并将其用作jQuery的#(id)选择器。找到ID元素,得到它的顶部offset
,最后为页面设置动画。
答案 1 :(得分:-1)
您必须用
包装所有代码$(document).ready(function(){ ... });
或只是
$(function(){ ... });