2015-01-16 40 views
0

正在關注this question,我一直在嘗試只使用colorbox加載頁面的一部分。我的代碼看起來像這樣。我有一堆的內容的網頁,而且還包含了一個id一個特定的div:是否可以使用colorbox加載部分頁面?

<html> 
<body> 
... 
<div id="colorboxcontent">...</div> 
</body> 
</html> 

然後我嘗試使用顏色框加載該部分頁面,就像這樣:

$('a').colorbox({ 
    href: $(this).attr('href') + ' #colorboxcontent' 
}); 

按照問題/答案高於此鏈接應該工作,因爲顏色框使用jQuery的AJAX加載方法,這使得它可以在一個頁面的特定部分拉。但是這對我不起作用。我收到一個錯誤,指出內容未能加載。

有誰知道我可能是做錯了什麼?

回答

1

我敢肯定,而不是href可以使用html並直接加載的內容表示div標籤。

編輯:你可以在頁面到「進程」阿賈克斯上的一個隱藏的div下面:

$.ajax({ 
    type: "GET", 
    url: "[your_page_url]", 
    success: function (data, textStatus, jqXHR) { 
     var htmlData = $.parseHTML(data); 
     $("#myhiddendiv").html(htmlData); 

     //now your original div exists on the page 
     $('a').colorbox({ 
      html: $("#colorboxcontent").html(); 
     }); 

     //if you want to you could clear that temp div now 
     $("myhiddendiv").html(""); 
    } 
}); 

希望有所幫助。

+0

歡呼起來!我最初編輯了我的帖子(很短),並且意外地覆蓋了上面的固定代碼! – scgough

+0

好吧,但是這對我不起作用:(。colorbox加載錨點的href中引用的頁面,但它仍然加載整個頁面我認爲你指示的情況下可能工作,如果我想加載內容從當前頁面? – fraxture

+0

啊好的,所以你需要通過Ajax加載頁面,然後用這個結果html,過濾到元素'#colorboxcontent'的特定html。 – scgough

1

我回答了你對彩盒的問題跟蹤器,但這裏回答爲SO鄉親。我想你張貼看起來不錯,所以我現在的感覺是,有是保持這種從工作無關的問題:

這可能是一個不相關的JS錯誤或無效的標記。

我的猜測是,你測試的網頁沒有被服務器託管。該網站需要由http服務器託管,以便Ajax調用正常工作,而不僅僅是在瀏覽器中打開html文件。

+0

我在我的本地開發機器上運行的服務器上測試了這一點。我無法得到它的工作,並最終從一個單獨的PHP文件加載內容。不確定什麼答案在這裏標記爲正確,因爲我個人無法做到這一點。也許如果這是一個經過測試和認可的功能,它應該包含在colorbox文檔中? – fraxture

相關問題