我正在尝试使用 fancybox(http://fancyapps.com/fancybox/)在我的页面上自动显示图像,但背景(灰色)部分不起作用。有任何想法吗?
问问题
2453 次
2 回答
7
问题是,如果您在 DOM 准备好之前以编程方式打开 fancybox,则覆盖不会以某种方式附加到body
元素上。
这个 :
<script type="text/javascript">
$(".fancybox").fancybox({
// API options
});
$(".fancybox").eq(0).trigger('click');
</script>
...将在没有覆盖的情况下在页面加载时触发fancybox(click
此后链接的手册不会重现该问题)
您应该至少将.trigger()
方法包装在.ready()
方法中,例如:
<script type="text/javascript">
$(".fancybox").fancybox({
// API options
});
$(document).ready(function(){
$(".fancybox").eq(0).trigger('click');
});
</script>
如果您在页面底部初始化它,您可以将fancybox init 留在.ready()
方法之外,否则您也应该移动它。
于 2013-08-20T02:21:37.297 回答
0
您是否下载并正确放置了 fancybox_overlay.png?
背景是通过使用图像创建的,因此如果 .png 文件不在被调用的正确路径中,它将不会出现。我相信它需要与 .css 文件位于同一文件夹中。
编辑:
仔细查看 CSS 文件,您会发现:
.fancybox-overlay {
position: absolute;
top: 0;
left: 0;
overflow: hidden;
display: none;
z-index: 8010;
background: url('fancybox_overlay.png');
}
您可以将 overlay.png 文件放在 CSS 文件夹中,也可以更改 url 的路径以便它找到图像。希望这可以帮助。
于 2013-08-19T23:07:58.897 回答