我正在尋找深度鏈接div區塊的方法。在特定的頁面上,我可能會有幾個div塊,每個塊都有自己的內容。其中一個塊是可見的,其他塊是隱藏的。一旦鏈接或按鈕被按下,相應的div將被顯示,而其他的被隱藏。這裏是div的HTML:深度鏈接div區塊
<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的教程,但無法完全弄清楚如何將其應用於我的案例。
工作。謝謝! – 2012-08-13 14:18:35
沒問題。這兩個例子都假設有一個有效的#hash。您可能想要添加一些錯誤檢查。 – 2012-08-13 21:50:20