将 fancybox 设置为在不同的 fancybox close 上打开

Set fancybox to open on a different fancybox close

有没有办法设置一个 fancybox 在一个单独的 fancybox 关闭时打开? 我尝试了以下

$('a.linkEditClass').fancybox({
        href: "#editClassPanel",
        closeClick: false,
        autoDimensions: true,
        autoScale: false,
        afterClose: function() {
            $.fancybox({
                href: "#classInfoPanel"
            });
        }
    });

但这似乎并没有做任何事情。这是我的另一个fancybox代码供参考

$('a#linkClassInfo').fancybox({
        href: "#classInfoPanel",
        //        maxHeight: 350,
        //        maxWidth: 425,
        closeClick: false,
        autoDimensions: false,
        autoScale: false
    });

他们都以 div 为目标。

当您关闭 fancybox 时,它需要一点时间来清理并完成关闭过程,因此,在清理过程 运行 时打开另一个 fancybox 可能会触发 js 错误,使第二个 fancybox 无效打开盒子。

给它一点时间,它应该会起作用

afterClose: function () {
    // wait for this box to close completely before opening the next one 
    setTimeout(function () {
        $.fancybox({
            href: "#classInfoPanel"
        });
    }, 300);
}

JSFIDDLE