0

我试图让 Fancybox iFrame 自动加载并为叠加层提供不同的颜色。到目前为止,自动加载效果很好。

得到它的工作。我无法改变的颜色。

现在我尝试了这里列出的几个例子。但我想我做错了什么。

在我的头代码中,我正在加载:

    <script type="text/javascript">
$(document).ready(function(){  
    $('.fancybox').fancybox();

    // Change title type, overlay closing speed
    $(".fancybox-effects-a").fancybox({
        helpers: {
            'overlayColor'             :        '#ec2d2d',

            title : {
                type : 'outside'
            },
            overlay : {
                speedOut : 30,
                css: {
                    'background-color': '#ec2d2d'
                },
            },
            overlayColor: {
                css: '#ec2d2d',             
            }
        }
    });



    $("#hidden_link").fancybox().trigger('click');

});  
</script>

我的 HTML 是这样的:

<a class="fancybox fancybox.iframe" id="hidden_link" href="iframe.html" title="HOI">Iframe</a>

它打开加载。但我无法让叠加层变红。

我在这里想念什么?我已经尝试过,因为你看到了几个选项。但没有人使用正确的方法。

TIAD

编辑:

当我尝试添加此代码时:

            $(".fancybox").fancybox({
            beforeShow : function() {
                $('.fancybox-overlay').css({'background-color' :'#ec2d2d'});
            }

我似乎把语法弄得一团糟。因为它不响应这个脚本。但我不知道如何正确地做到这一点。

这就是我现在得到的:

    <script type="text/javascript">
    $(document).ready(function(){       
        $(".fancybox").fancybox({
            beforeShow : function() {
                $('.fancybox-overlay').css({'background-color' :'#ec2d2d'});
            },
            helpers: {
                title : {
                    type : 'outside'
                },
                overlay : {
                    speedOut : 30,
                    css: {
                        'background-color': '#ec2d2d'
                    },
                },
                overlayColor: {
                    css: '#ec2d2d',             
                }
            }
        });

        $("#hidden_link").fancybox().trigger('click');
    }); 
</script>

同样添加 CSS 代码也没什么区别:

        #fancybox-overlay{
        background-color:#ec2d2d !important;
    }

难道是加载了另一个JS文件覆盖了我的所有设置?

这些是加载的库:

    <script type="text/javascript" src="../lib/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="../lib/jquery.mousewheel-3.0.6.pack.js"></script>
<script type="text/javascript" src="../source/jquery.fancybox.js?v=2.1.5"></script>
<link rel="stylesheet" type="text/css" href="../source/jquery.fancybox.css?v=2.1.5" media="screen" />
<link rel="stylesheet" type="text/css" href="../source/helpers/jquery.fancybox-buttons.css?v=1.0.5" />
<script type="text/javascript" src="../source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script>
<link rel="stylesheet" type="text/css" href="../source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" />
<script type="text/javascript" src="../source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>
<script type="text/javascript" src="../source/helpers/jquery.fancybox-media.js?v=1.0.6"></script>
4

3 回答 3

2

只需在显示 fancybox 之前设置背景颜色。

$(".fancybox").fancybox({
    beforeShow : function() {
        $('.fancybox-overlay').css({'background-color' :'#ec2d2d'});
    }
});

然后.fancybox()$("#hidden_link").fancybox().trigger('click');

就像这样它会完美地工作。

于 2013-09-19T07:32:54.947 回答
0

您应该能够在 CSS 中更改覆盖颜色

#fancybox-overlay{background-color:#ec2d2d !important;}
于 2013-09-19T07:24:57.320 回答
0

您可以单独执行覆盖,

$.fancybox.helpers.overlay.open({parent: $('body')});
于 2015-06-17T18:36:16.363 回答