我正在寻找一种深度链接 div 块的方法。在特定页面上,我可能有几个 div 块,每个块都有自己的内容。其中一个块是可见的,其他块是隐藏的。按下链接或按钮后,会显示相应的 div 并隐藏其他 div。这是 div 的 HTML:
<div id="6ba28aae2dae153a1686cfee276632d8" class="page-block" style="display: block;">
<p>
1st block.
</p>
</div>
<div id="55cead0effa915778913d8667d0ae3a9" class="page-block" style="display: none;">
<p>
2nd block.
</p>
</div>
这是用于切换块的 JavaScript。
/* Hide and show necessary blocks. */
function switchBlocks(UID)
{
var blocks = $('div.page-block');
for (i=0; i<blocks.length; i++)
{
if (blocks[i].id == UID)
{
blocks[i].style.display= 'block';
// Get the current URL and split it at the # mark
urlArray = window.location.href.split("#");
// Select the part before #
subURL = urlArray[0];
// Create a fake URL by adding UID to subURL
history.pushState(null, null, subURL + '#' + UID);
}
else
{
blocks[i].style.display= 'none';
}
}
}
我现在要做的是使用块 ID 为每个块分配其唯一的 URL。我能够使用相关 ID 更新 URL,但无法弄清楚如何将特定 URL 链接到特定块,以便在访问其 URL 时显示相应的块。
我已经研究了HTML5 History API的教程,但不太清楚如何将它应用到我的案例中。