jQuery 淡出 div 在 Flash 对象顶部时无法正确显示边框

标签 jquery firefox flash border opera

第一次发帖...对我宽容一些:-)

我有一个客户的二维码测试​​登陆页面:

http://www.woodfold.com/qr

我没有开发该网站,但我现在负责更改。

目前,客户只希望出现一个简单的感谢框,然后在访问二维码页面时淡出。我编写了一个简单的 div、css 并使用 jQuery 实现淡出效果。

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

只要浏览器尺寸足够大,以便二维码感谢消息显示在电影下方,代码就可以正常工作。

如果浏览器/屏幕尺寸足够小,无法将消息推送到电影区域 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;
}

最佳答案

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

引用:

In order to create the look of rounded corners, you would have to make four overlay divs that look like a rounded corner and position them at each corner. Not an elegant solution at all, but it's the only way to create that effect.

Containers with a border-radius don't consistently crop content contained within them, Flash content in particular. If you were to create one single div overlay, I imagine it would make it impossible to click any controls in the video, so that is why I think four absolutely-positioned corner divs are the only way to do it.

关于jQuery 淡出 div 在 Flash 对象顶部时无法正确显示边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15423395/

相关文章:

javascript - 在搜索字段中输入页面上的任意键

json - 使用 angular http.post 方法发布 - xmlhttprquest 无法加载服务

javascript - 如何在 www 网站中不间断地循环播放声音

javascript - 如何让Flash应用程序与服务器通信?

actionscript-3 - 为什么闪存在创建数组和创建包含数组的类时会消耗不同数量的内存?

javascript - 用于输入中文(ibus)的 JQuery/DOM 事件?

android - 在抽屉菜单上设置可见性

javascript - 突出显示文本并更改颜色

javascript - 如何关闭浏览器的父窗口同时关闭子弹出窗口?

internet-explorer - 在 Chrome/Firefox/IE 中通过 iframe 打印 PDF