我一直在投资组合网站上工作,主页上的缩略图在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>
答案 0 :(得分:0)
编辑fancybox css文件中的#fancybox-outer背景属性,以更改iframe的默认背景颜色。