我正在尝试使用fancyBox,我想知道为什么当我关闭fancyBox窗口时,我的元素会出现“display:none;”样式。有没有解决方法可以避免这种情况?
我的html文件包括:
<script type="text/javascript" src="../js/jquery.fancybox.pack.js"></script>
<link rel="stylesheet" href="../css/jquery.fancybox.css" type="text/css" media="screen" />
目标元素是:
<div id="cadre" class="planche"><a id="inline" href="#photo"><img src="../img/new/img/1_ADELE_HAENEL_Actress-H.jpg" alt="ADELE HAENEL" id="photo"></a></div>
我的Fancybox js是:
$(document).ready(function() {
/* This is basic - uses default settings */
$("a#single_image").fancybox();
/* Using custom settings */
$("a#inline").fancybox({
'hideOnContentClick': false
});
/* Apply fancybox to multiple items */
$("a.group").fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'speedIn' : 600,
'speedOut' : 200,
'overlayShow' : false
});
});
答案 0 :(得分:8)
我遇到了同样的问题,解决方法是使用有效的href填充a元素的href属性
答案 1 :(得分:4)
在 a 元素中添加有效的 href 标记。下面是一个简单的例子。我遇到了同样的问题并解决了这个问题。
<a class="fancybox" href="http://fancyapps.com/fancybox/demo/1_b.jpg"><img src="http://fancyapps.com/fancybox/demo/1_s.jpg" alt=""/></a>
然后拨打fancybox。
$(".fancybox").fancybox({});
JsFiddle演示示例
答案 2 :(得分:2)
首先要检查的一些事情。您应该针对<A>
标记调用.fancybox(),不图像:
您的HTML格式应为:
<a href="image-url" class="fancybox" ...>
<img src="image-url" />
</a>
你的jQ:
$('.fancybox').fancybox()
其次,如果您的网址不包含已知的图片扩展名或data:image
字符串,则会失败“isImage”调用,并且无法打开fancybox(很可能只是回退到标准行为)。
isImage函数,供您参考(2.1.5):
isImage: function (str) {
return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i);
},
答案 3 :(得分:0)
有同样的问题。
解决方案是使用Tag的另一个类名,然后使用标记。 搜索了几周......:/