2012-03-14 92 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> 
相关问题