2013-07-02 51 views
0

我有一個下拉菜單,包含在我所有使用php的頁面中。在這個菜單上,我正在使用錨點導航到單個頁面上的各個div。這是非常簡單的代碼,錨定在href中的標籤,沒有JavaScript。當從頁面內導航時將鏈接標記重定向到頁首

  <a href="test.php#test">Test</a> 

導航到

  <h2 id="test">Test</h2> 

如果要前往該工作正常的頁面。如果我已經在頁面上,它會轉到標籤,然後重定向到沒有標籤的頁面(即從test.php#test到test.php)。什麼是造成這種行爲,我該如何解決它?

+1

你可能會考慮與我們分享一些代碼。 –

回答

0

如果你提供了更多的代碼,那麼它會更有幫助。但我只是在猜測問題在哪裏。您可以在下面的JavaScript添加到您的網頁:

$("a[href^=#]").on("click", function(e) { 
    e.preventDefault(); 
    history.pushState({}, "", this.href); 
}); 

這樣做是目標的所有散列鏈接,並防止其默認行爲,並更改URL。但是如果沒有看到更多的代碼,很難判斷它是否可行。您也可以互換使用replaceState,這會更改網址,而不會在瀏覽器歷史記錄中添加條目。從here借用的代碼。