我有一组常见问题解答,默认情况下隐藏了答案,只留下问题,并且我通过在每个问题中嵌入 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,则does work.
这里发生了什么?
scrollIntoView https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollIntoView是 DOM API 的一部分,而不是 jQuery。您需要在 Element 而不是 jQuery 对象上运行它:
$('div#' + id)[0].scrollIntoView();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)