2014-10-07 125 views
1

我有一个网站,我在其上使用了几个灯箱。它工作到处都非常好,也在IE7 :),但在移动它不显示关闭按钮。Fancybox 2.1.5不显示手机上的关闭按钮

我的代码如下:

$(".fancybox").fancybox({ 
    beforeShow:function(){ 
     $('html, body').unbind("mousewheel", horizontalScroll); 
    }, 
    'arrows':true, 
    'overlayShow': true, 
    'autoScale': true, 
    'autoDimensions': false, 
    'modal': true, 
    'autoSize' : false, 
    'width' : '90%', 
    'showCloseButton' : true, 
    'hideOnOverlayClick':true, 
    'keys': { 
     "next": [13, 32, 34, 39], // enter, space, page down, right arrow, down arrow 
     "prev": [8, 33, 37] // backspace, page up, left arrow, up arrow 

    }, 
    afterShow : function() { 
     $('.fancybox-skin').append('<a title="Close" class="fancybox-item fancybox-close" href="javascript:jQuery.fancybox.close();"></a>'); 

    }, 
    afterClose : function() { 
     $('html, body').bind("mousewheel", horizontalScroll); 
    } 
}); 

的网站是:http://ahnenwand.hiltl.ch但不是所有的图片链接到一个灯箱。点击加号,从3到右,8下,有一个图像,打开一个灯箱来测试它。

我没有任何JS错误,并且精灵也在加载。在灯箱的右上角(在手机上)是我可以点击关闭它的区域,但关闭按钮不显示。

这里是一个小小提琴,也是在这里的关闭按钮无法在移动显示(它的工作原理只有一次,那么它必须被重新加载 - 对不起)

http://jsfiddle.net/bauralex/f2sx36gz/16/

我希望任何人有一个想法这可能是错在这里

非常感谢您

亚历

回答

1

我有同样的问题机智h非模态框(V 2.1.5)。正如我发现的,关闭按钮的代码在移动环境中缺失,引用背景图像不起作用。我的解决办法是使经回调后负荷的变化:

afterLoad:function(curr, prev) { 
    if(!jQuery('a.fancybox-close').length) { 
     jQuery('.fancybox-outer').after('<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>'); 
     jQuery('.fancybox-close').css('background-image','url(/js/fancybox2/fancybox_sprite.png)'); 
    } 
} 

确保调整路径在您的环境中fancybox_sprite.png。