为什么不是't scroll滚动到我的锚点

Why isn't scrollTo scrolling to my anchor?

本文关键字:滚动 我的 scroll 为什么不      更新时间:2023-09-26

我有

<!DOCTYPE html>
<html>
<head>
[...]
<script type="text/javascript" src="jquery-1.7.js"></script>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
function getusto(anchorid) {
$(anchorid).scrollTo();
} 
</script>
[...]
</head>
<body>
[...]
<a class="menu_links" href="#" onclick="getusto('welcome');">Welcome</a><br> 
<a class="menu_links" href="#" onclick="getusto('guidelines');">Guidelines</a> 
[...]
<a name="welcome" id="welcome"></a> blah balhb albha 
[...]
<a name="guidelines" id="guidelines"></a> blah blahb alhb
[...]
</body>
</html>

为什么点击欢迎/指南链接不会滚动到锚点?

我正试图特别链接到id,因为使用了jquery-bbq(据我所知),所以我不能正常使用hashes/锚点。

他们让我用更多的字符来解释代码。我们玩一帧帕克人怎么样:

("< . . . . o . . . . 
                    . 
                    .
                    .
                    .
             [Post Your Answer]

浏览器可能正在执行Element.scrollTo功能,然后按照链接。。。它会将您带到页面的顶部(因为href#)。

为什么不试试这两件事中的一件,看看会发生什么:

尝试onclick中的return false;:(请参阅此处的fiddle)

<a class="menu_links" href="#" onclick="getusto('welcome'); return false;">Welcome</a>
<a class="menu_links" href="#" onclick="getusto('guidelines'); return false;">Guidelines</a> 

或者使getusto返回false:(此处见fiddle)

function getusto(anchorid) {
  $(anchorid).scrollTo();
  return false;
} 

并从onclick:返回其值

<a class="menu_links" href="#" onclick="return getusto('welcome');">Welcome</a>
<a class="menu_links" href="#" onclick="return getusto('guidelines');">Guidelines</a> 

执行这两个建议中的任何一个都应该允许Element.scrollTo在不遵循链接的原始目的地的情况下生效。