2010-10-17 67 views
2

我有一個視頻庫,左側有一個菜單,並將內容加載到右側的div中。該菜單是從PHP視頻文章生成,所以我們需要一個通用的腳本,將影響一切。從錨點獲取哈希URL並加載到Div

- 問題 -

鏈接將加載視頻的URL作爲錨對當前的URL -

如。

http://www.divethegap.com/update/community/videos/#http://www.divethegap.com/update/2010/10/test-video-2/

因此,所有我需要的是一個腳本,將獲取散列標籤和內容加載到一個div。到目前爲止,我已經慘敗於嘗試這樣做。我想它是沿着document.location.hash的行,但不知道從哪裏去。

非常感謝。

感謝

回答

4

注:此答案的用戶的jQuery 1.4.2,因爲包括與正在該頁面已被廣泛使用。

您可以附加一個單擊處理到錨,例如:

$("#nav a").click(function() { 
    $("#content").load(this.hash.substring(1)); 
}); 

You can test it out against your markup here,沒有也不會實際上負載在演示中,因爲它是在一個單獨的域名,但會正常工作在同一個域上。

+0

試過了。接縫沒有做任何事情。試圖改變它,但仍然沒有。它的全部在線如果你想看看。該腳本位於update/z-js/inloader.js ....即使它是一個被調用的腳本也可以,因爲它可以在body load上調用,也可以將外部鏈接指向正確的視頻這一頁。 – 2010-10-17 13:30:53

+0

@Robin - 如果你把它包含在一個新文件中,一定要把它包裝在一個'document.ready'處理程序中,把'$(function(){});'圍繞你現在擁有的東西。 – 2010-10-17 13:37:04

+0

奇妙的是,它做到了。但提出了另一個問題。如果你現在嘗試它,但是左邊的'sagscroller'沒有正確地處理鏈接。它可以在第一次焚化時使用,但不會像第二次使用時那樣。我認爲這與滾動器生成的多個ID有關。其他問題是,我們需要散列標籤來加載頁面加載正確的視頻,如果頁面的鏈接是例如http://www.divethegap.com/update/community/videos/#http://www.divethegap .com/update/2010/10/test-video/ – 2010-10-17 13:54:01

1

你可以試試這個 -

$('a').click(function(){ 

    $('#content').load(document.location.hash.replace(/#/,'')); 

}); 

這將加載後的散列部從當前的URL的內容。

+0

當然,這將使它發生在頁面上的每一個鏈接 – 2010-10-17 14:03:21

+0

這是好的,如果你有一個鏈接。 – 2013-10-02 19:29:28