2012-03-14 91 views
3

我有一個colorbox窗口,我在iframe中打開。在窗口內部,我有一個用戶可以點擊的鏈接,理想情況下我希望當前的colorbox窗口關閉,並打開一個新的colorbox窗口(再次在iframe中)或將新內容加載到現有的iframe中。使用iframe的colorbox - 關閉然後再打開另一個

我的第一個窗口中打開,像這樣:

$.colorbox({ width: "800px", height: "580px", open: true, iframe: true, href: '/App/View?id=' + id }); 

當我點擊在第一個窗口中的鏈接,這是什麼觸發:

$.colorbox({ width: "800px", height: "580px", iframe: true, href: "/App/Note?nodeId=" + nodeId }) 

我試圖關閉第一個窗口與:

parent.$.colorbox.close(); 

但是,最終關閉這兩個窗口。

如果我不嘗試關閉第二窗口的第一窗口的內容打開,我有2個邊界,2個關閉按鈕等

任何想法?

謝謝。

回答

8

嘗試執行此操作將關閉第一個colorbox,然後用父級上下文打開新的colorbox。

parent.$.colorbox.close(); 
parent.$.colorbox({ width: "800px", height: "580px", iframe: true, href: "/App/Note?nodeId=" + nodeId }); 

其實你應該在父頁面有一個功能,這將做到這一點。

function OpenNote(noteId){ 
    $.colorbox.close(); 
    $.colorbox({ width: "800px", height: "580px", iframe: true, href: "/App/Note?nodeId=" + nodeId }); 
} 

然後調用這個函數,點擊View頁面裏面的鏈接傳遞noteId。

parent.OpenNote(id); 
+0

曾爲 - 謝謝! – 2012-03-14 19:39:38

0

關閉時我使用遞歸函數打開另一個顏色框一個colorbox.My功能:

<script type="text/javascript"> 
    var colorList = []; 
        colorList.push('1. Popup Content'); 
        colorList.push('2. Popup Content'); 
        colorList.push('3. Popup Content'); 
        colorList.push('4. Popup Content'); 
      colorboxRecursive(colorList); 
    function colorboxRecursive(colorList){ 
     if (colorList.length>0) { 
      $.colorbox({ 
       html:colorList.pop(), 
       onClosed:function(){ 
        if (colorList.length>0) 
         colorboxRecursive(colorList); 
       } 
      }); 
     }else{ 
      return false; 
     } 
    } 
</script> 
相關問題