2012-02-05 110 views
1

我有一個頁面有4個隱藏的divs。如果我想鏈接到他們,我這樣做,例如使用div錨鏈接來隱藏/顯示div

<a href="#about" class="nav_text" id="about_link">About</a> 

這顯示了有關股利和隱藏由於我的Javascript/jQuery的,我寫它的人。

但是,我的問題出現在用戶的地址欄讀作/index.php#about_content。如果你手動輸入,它不會顯示about_content div,因爲它是隱藏的。如何手動輸入div以顯示div?

回答

2

讀取當前的哈希,並顯示在文件準備的哈希值。

$(document).ready(function() { 
    $(window.location.hash).show(); 
}); 
+0

看起來像是一個很好的解決方案給我。我會盡快接受你的最佳答案(Stack Overflow說我必須等待7分鐘)。謝謝一堆! – 2012-02-05 19:02:43

1

您需要聽取窗口上的hashchange event。一旦你這樣做,從散列中加載元素,如果匹配,則顯示正確的<div>。如果哈希中存在某些內容並且執行相同操作,您還需要檢查頁面的初始加載情況。

並非只有IE8 +兼容,因爲IE7及以下版本不支持hashchange事件。如果你想支持它們,你需要使用其中的一個技巧(或者plugins)。

PS你可以找出什麼是使用location.hash