我有一个带有五个链接和五个 div 的导航栏。当我单击第一个链接时,第一个 div 变为可见,其余设置为display: none
. 其他人也是如此。
我想让访问者为这些动态“页面”(可见的 div)添加书签,所以我使用的是 URL 哈希。但它没有像我预期的那样工作。例如,不可能直接浏览到一个特定状态(显示特定 div 的位置)。如果我不清楚,我想要完成的内容与此视频中的相同,尽管没有使用next
andprev
方法。
这是我的代码示例。
<style>
div { display:none; }
div#intro { display:block; }
</style>
<ul id="pages">
<li><a href="#intro">First link</a></li>
<li><a href="#continue">Second link</a></li>
<li><a href="#end">Third link</a></li>
</ul>
<div id="intro"></div>
<div id="continue"></div>
<div id="end"></div>>
<script>
function toggle() {
var i = 0,
divs = document.getElementsByTagName("div"),
hash = window.location.hash.substring(1); //extracts hash without #
for (i; i < divs.length ; i++) {
if (divs[i].id == hash) {
$(divs[i]).css("display", "block");
}
else {
$(divs[i].css("display", "none");
}
}
}
window.onhashchange = toggle;
</script>