背景在Fancybox iframe中闪烁白色

时间:2010-12-15 20:17:56

标签: jquery iframe fancybox

我一直在投资组合网站上工作,主页上的缩略图在Fancybox内加载一个包含.cycle jquery幻灯片的单独页面。 .cycle幻灯片放映的箭头位于透明背景上,看起来好像是从花式框的边缘浮出来的。现在问题在于,当使用safari或opera时,在页面正确加载之前,完整的iframe会闪烁白色。

我完成了我的研究,发现这个问题是由iframe引起的(http://css-tricks.com/snippets/html/get-rid-of-white-flash-when-iframe-loads/) 。但是,由于我的iframe通过Fancybox加载,因此css-tricks.com上的解决方案不适用。我也一直在尝试css-tricks.com上的无限循环博客提出的解决方案,但没有运气。

非常感谢任何帮助!

index.html负责人

    <!DOCTYPE HTML>
<head>
<title>Forbes Massie</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link href="layout.css" rel="stylesheet" type="text/css"   />
<link rel="stylesheet" href="fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

<script type="text/javascript" src="fancybox/jquery.easing-1.3.pack.js"></script>

<script type="text/javascript" src="fancybox/jquery.fancybox-1.3.4.pack.js"></script>

<script type="text/javascript">

$(document).ready(function() {

    $("#content a").fancybox({
        'padding'           : 0,
        'margin'            : 0,
        'width'             : 1036,
        'height'            : 628,
        'autoScale'         : false,
        'easingIn'          : 'fade',
        'easingOut'         : 'none',
        'opacity'           : true,
        'type'              : 'iframe',
        'centerOnScroll'    : true,
        'overlayOpacity'    : '0.8'
    });

});

</script>
</head>

slideshow.html

    <!DOCTYPE HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="../layout.css" rel="stylesheet" type="text/css"   />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.2.74.js"></script>

<style type="text/css">
body {
    background-color:transparent;
}
</style>


<script type="text/javascript">

$(document).ready(function(){

$(document).ready(function () {
$('#fade').fadeIn(700);
});

    $('.slideshow').cycle({
    prev:   '#prev1', 
    next:   '#next1', 
    timeout: 0,
    speed: 500,
    after: onAfter
});

if ($('.slideshow') && ($('.slideshow').children().length == 1)) {
    $('#prev1').hide();
    $('#next1').hide();
}

});

function onAfter(curr,next,opts) {
    var caption = (opts.currSlide + 1) + ' of ' + opts.slideCount;
    $('#caption').html(caption);
}

</script> 

<title>slideshow10</title>
</head>

<body>

<div id="fade">

<a href="#" id="prev1"><div class="arrows_prev"></div></a>



<div id="box">
    <div class="text">
        <span class="slideshow_p">Title</span>

        <br/>
        <h2>Competition, Tate Modern, London</h2>

        <br/>
        <span class="slideshow_p">Client</span>

        <br/><h2>Carmody Groarke Architects</h2>
    </div>

    <div class="slideshow">
        <img src="../images/10_competition_tate/carmody_groake_tate_modern_members_restaurant_competition_external.jpg" alt="" />

        <img src="../images/10_competition_tate/carmody_groake_tate_modern_members_restaurant Competition_Internal.jpg" alt="" />

    </div>

    <div id="line"> </div> 
</div>

<a href="#" id="next1"><div class="arrows_next"></div></a>

</div>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

编辑fancybox css文件中的#fancybox-outer背景属性,以更改iframe的默认背景颜色。