当flash对象顶部时,jQuery淡出div不能正确显示边框

时间:2013-03-15 01:51:02

标签: jquery firefox flash border opera

第一次发帖......对我很轻松: - )

我有一个客户的QR码测试登陆页面:

http://www.woodfold.com/qr

我没有开发网站,但是现在负责变更的网站。

目前,客户只是想要一个简单的感谢框出现,然后在访问QR Code页面时淡出。我写了一个简单的div,css并使用jQuery来淡出效果。

该网站在屏幕顶部有一个.swf电影/旋转器。

只要浏览器的大小足以让您在电影下方显示QR感谢消息,代码就可以正常工作。

如果浏览器/屏幕的大小足以将消息推入电影区域FF并且Opera无法正确渲染圆角。当消息出现在电影下方时,它们会正确呈现。

我确定我错过了一些愚蠢的简单,但是......任何人都知道造成这种情况的原因是什么?这是相关的代码片段。

    <div id="qrThanks">
        <img src="../i/qrSmall.png" title="Woodfold QR Code" alt="Woodfold QR Code" />
        <p class="qrContent">Thank you for using Woodfold's QR Code!</p>
    </div>
    <div id="contentContainer">
        <div id="flashContainer">
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="731" height="312">
                <param name="movie" value="http://woodfold.com/flash/superhomeFlash.swf" />
                <param name="wmode" value="transparent">
                        <!--[if !IE]>-->
                        <object type="application/x-shockwave-flash" data="http://woodfold.com/flash/superhomeFlash.swf" width="731" height="312">
                        <!--<![endif]-->

                            <img src="slide.gif" alt="slide" width="731" height="312" />
                        <!--[if !IE]>-->
                        </object>
                    <!--<![endif]-->
            </object>
        </div> 

JS / jQuery的

<script type="text/javascript" src="../scriptz/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
    jQuery(document).ready(function(){
     $('div#qrThanks').show();
     window.setTimeout(function() {
     $('div#qrThanks').fadeOut('slow');
     }, 2000);
});
</script>

CSS

#qrThanks {
position: absolute;
left: 50%;
top: 50%;
display: block;
margin: -100px 0 0 -250px;
text-align: center;
z-index: 1000;
width: 500px;
height: 100px;
background-color: #FFF;
box-shadow: 5px 5px 3px #000;
border: 10px solid #ccc;
border-radius: 10px;
}
#qrThanks img {
margin: 20px 10px 20px 20px;
padding: 0px;
width: 60px;
float: left;
box-shadow: 5px 5px 3px #000;
}
.qrContent {
display: block;
margin: auto 0px;
font-size: 20px;
line-height: 100px;
}

1 个答案:

答案 0 :(得分:1)

有趣的问题,但它不是你的代码,这是正常的行为。我创建了一个小提琴并测试了各种css设置,但无法使其工作。在您的情况下,我会考虑Nate B.提供的解决方案解决方案:https://stackoverflow.com/a/7838520/1807551

报价:

  

为了创造圆角的外观,你必须要做   四个叠加div,看起来像一个圆角并将它们定位在   每个角落。根本不是一个优雅的解决方案,但这是唯一的方法   创造那种效果。

     

具有border-radius的容器不会始终裁剪内容   包含在其中,特别是Flash内容。如果你是   创建一个单一的div叠加,我想它会让它变得不可能   点击视频中的任何控件,这就是为什么我认为四   绝对定位的角落div是唯一的方法。