Javascript 使用不同模板时,Fancybox关闭按钮不显示

Javascript 使用不同模板时,Fancybox关闭按钮不显示,javascript,css,fancybox,Javascript,Css,Fancybox,我有一个页面,我需要为页面上的不同元素使用两种不同的FancyBox样式。为了实现这一点,我添加了tpl选项并相应地修改了样式表。以下是我所拥有的: $(document).ready(function() { $(".login").fancybox({ closeClick : false, closeBtn : true, tpl: { wrap : '<div class="fancybox-wrap1" tabIndex="-1"

我有一个页面,我需要为页面上的不同元素使用两种不同的FancyBox样式。为了实现这一点,我添加了
tpl
选项并相应地修改了样式表。以下是我所拥有的:

$(document).ready(function() {
$(".login").fancybox({
    closeClick  : false,
    closeBtn : true,
    tpl: {
        wrap     : '<div class="fancybox-wrap1" tabIndex="-1"><div class="fancybox-skin1"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',
        closeBtn : '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>'
        }
    });
});
$(文档).ready(函数(){
$(“.login”).fancybox({
closeClick:false,
是的,
第三方物流:{
换行:“”,
closeBtn:'
}
});
});
在我的CSS中,我为.fancybox-wrap1和.fancybox-skin1添加了新样式。样式工作得很好,但是在FancyBox上,带有修改模板的“关闭”按钮完全消失了!我尝试从
tpl
添加和删除
closeBtn
,但似乎没有任何区别

我还有一个演示(最终我将需要FancyBox的不同背景图像,而不仅仅是背景颜色,这就是我为什么要这么做的原因)


我做错了什么?任何帮助都将不胜感激

您的
.fancybox-skin1
div仍然需要对其应用
fancybox skin
类。如果您查看Fancybox代码版本2.1.2(有时这是在没有很好的文档记录的情况下解决问题的唯一方法),您将看到它通过搜索该类找到皮肤(第884行):

然后,它使用该引用附加closeBtn(第1440行):


酷。好吧,如果它对你有用,那就接受答案吧。谢谢Ryan,我刚刚编辑了我的代码,它工作得很好!
$.extend(coming, {
                skin  : $('.fancybox-skin',  coming.wrap),
                outer : $('.fancybox-outer', coming.wrap),
                inner : $('.fancybox-inner', coming.wrap)
            });
// Create a close button
            if (current.closeBtn) {
                $(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', F.close);
            }