我有一组常见问题解答,其中默认情况下我隐藏了答案,仅保留问题,并且我通过在每个问题中嵌入ID锚提供了每个特定问题的链接,以便其他人可以链接到该问题。
问题格式的结构如下:
<div class="contents">
<h1 class="question" id="titleOfQuestion">Some Question Title</h1>
<div class="answer" id="titleOfQuestion">>
Some Answer
</div>
</div>
如果URL中有ID锚,因为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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句