我有一组常见问题解答,其中默认情况下我隐藏了答案,仅保留问题,并且我通过在每个问题中嵌入ID anchor 提供了每个特定问题的链接,以便其他人可以链接到该问题。

问题格式的结构如下:

<div class="contents">
   <h1 class="question" id="titleOfQuestion">Some Question Title</h1>
   <div class="answer" id="titleOfQuestion">>
      Some Answer
   </div>
</div>

如果URL中有ID anchor ,我需要在页面加载时将问题滚动到 View 中,因为div.contents的高度固定,并且经常会出现scroll属性。

包装在文档就绪处理程序中,以下代码不起作用:
if(document.location.hash) {
var id = document.location.hash.substring(1);
    $('div#' + id).scrollIntoView();
}

而且我在Firebug中收到错误:TypeError: $(...).scrollIntoView is not a function。但是,如果我随后从同一位置重新加载URL,则可以执行

这里发生了什么?

最佳答案

scrollIntoView 是DOM API的一部分,而不是jQuery。您需要在Element而不是jQuery对象上运行它:

$('div#' + id)[0].scrollIntoView();

关于javascript - scrollIntoView()不是页面加载时的函数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20931368/

10-11 12:11