在另一个fancybox ajax 上打开fancybox

Posted

技术标签:

【中文标题】在另一个fancybox ajax 上打开fancybox【英文标题】:open fancybox over another fancybox ajax 【发布时间】:2014-09-18 23:57:34 【问题描述】:

我有一个 Fancybox,它显示了一些对话框和一个可供单击的按钮。 当我单击此按钮时,我想在现有的一个..或屏幕上的另一个位置打开另一个fancybox,但我不想丢失已经存在的fancybox。 我想通过 ajax 请求来填充它们。 这可能吗? 因为我的尝试导致丢失了原来的花式盒子..

我得到了这个代码:

$.fancybox.showActivity();
                $.ajax(
                    type        : "POST",
                    cache       : false,
                    url     : "../testservlet?select=1,
                    data        : $(this).serializeArray(),
                    height      : 600,
                    width       : 800,
                    padding     : 30,
                    showCloseButton : true,
                    success     : function(data) 
                        $.fancybox(data);
                    
                );

$.fancybox.showActivity();
                $.ajax(
                    type        : "POST",
                    cache       : false,
                    url     : "test?select=2,
                    data        : $(this).serializeArray(),
                    padding     : 30,
                    showCloseButton : true,
                    success     : function(data) 
                        $.fancybox(data);
                    
                ); 

【问题讨论】:

【参考方案1】:

不幸的是,您不能同时拥有多个花式盒子......它就是这样设计的。

你可以在现有的里面有另一个fancybox(当打开一个外部页面-通过iframe-里面有fancybox)......或者你可以在父页面上打开那个内部fancybox,创造你拥有的错觉同一页面上的两个花式框。 Check here for more

另一方面,我记得唯一支持多个盒子的灯箱是jQuery Tools Overlay

【讨论】:

谢谢您.. 但是我在您的链接上没有看到当我在父页面上创建它时如何创建这种错觉? 创建一个打开fancybox的页面(并设置parent.parent.$.fancybox ......请参阅链接中的示例)。然后从fancybox中的另一个页面打开该页面......并打开其中的第二个fancybox。【参考方案2】:

在 iframe 中打开第一个 fancybox。然后在里面可以打开另一个fancybox。

【讨论】:

以上是关于在另一个fancybox ajax 上打开fancybox的主要内容,如果未能解决你的问题,请参考以下文章

在AJAX调用后附加到Flexslider后,无法使用Fancybox打开图像

向下滚动到 Fancybox 窗口中的元素(ajax 加载的内容)

ajax成功后点击事件的jQuery Fancybox显示没有图像

带有 Ajax 的 jQuery FancyBox

图片预览插件 fancyBox

为啥我的fancybox 没有在$('.selector').click() 上打开?