2012-02-29 43 views
0

例如,當您訪問http://www.rdio.com/#/aboutus/時,您會看到他們關於我們的頁面加載,現在當您懸停或檢查其頁腳中的「關於我們」鏈接時,它只會指向/ aboutus。我也檢查過查看源代碼,鏈接本身沒有發生任何魔術。Rdio.com如何做他們的基於錨的超鏈接?

我在想,jQuery必須更新所有的<A>元素,並用基於錨點的哈希標記url方法替換。

我如何得到這個在我自己的項目中的功能?

謝謝。

回答

3

這些錨點用於鏈接;真正的魔力是Ajax和其他基於JavaScript的動態內容。這裏的鏈接可能是什麼樣子:

$('.some-link').click(function(e) { 
    // Allow for linking: 
    window.location.hash = '#/' + this.getAttribute('href'); 

    // Start loading the content: 
    $.ajax({ 
     // ... 
     success: function() { 
      // New content gets put in 
     } 
    }); 

    // Prevent the real link from being followed: 
    e.preventDefault(); 
}); 
+0

這很有趣,感謝MiniTech移動,我真的試圖e.preventDefault()和Click事件就這樣,但它仍然帶來了鏈接以及射擊我的事件,很奇怪,讓我再試一次。 – GONeale 2012-02-29 03:46:55

+0

大聲笑確定它的工作!如果我真的在函數參數中傳遞了'e',它會有所幫助;)感謝您的幫助! – GONeale 2012-02-29 03:48:33