2

我正在玩 youtube api,并在http://jsfiddle.net/aaronk85/wapFR/中有以下代码

<div id="video-wrap2"></div>
<div id="video-wrap">
    <div id="play-video"></div>
</div>
<style>
#video-wrap2 {
    background-color: red;
    width: 666px;
    height: 666px;
    z-index: 1000;
    position: absolute;
}

#play-video {
    display: inline;
    float: left;
    height: 400px;
    width: 100%;
}

#video-wrap {
    float: left;
    display: inline;
    width: 610px;
    overflow: hidden;
    position: absolute;    
    z-index: 1;
}
</style>
<script>
$(document).ready(function() {
    $("#embed").replaceWith("<div id ='play-video'></div>");
    $.getJSON("https://gdata.youtube.com/feeds/api/playlists/UUJUAqHnkDX15IvFoXIGTm2A?alt=json-in-script&callback=?&max-results=1", function(data) {
        $.each(data.feed.entry, function(i, item) {
            var dataContainer = $("#play-video");
            var video = item.media$group.media$content[0].url;
            video = video.replace('https://www.youtube.com/v/','https://www.youtube.com/embed/');
            video = video.replace('version=3&f=playlists&app=youtube_gdata','wmode=opaque');
          $('#play-video').append("<iframe wmode='opaque' style='z-index:0;position:absolute;' width='610' height='400' src="+video+"' frameborder='0' name='vid-frame' id='vid-fade' allowfullscreen></iframe>");    
        });
    });
});
</script>

我希望 video-wrap 2 出现在视频的顶部(我选择的随机播放列表)。在除 IE 之外的所有浏览器中,这似乎都有效。我在 IE 中缺少什么?我已经尝试过不透明/透明的组合,但我无法让它工作。我也发现了几个类似的问题,但是在尝试了这些问题之后我仍然遇到问题?

4

1 回答 1

1

jsFiddle 演示

在 IE Web 浏览器中,z-index属性的堆栈顺序会为子元素重置,具体取决于网页布局。

但是,在您的 jsFiddle 中,您还使用position:absolute了除子元素以外的所有元素。

要修复,请添加position: absolute;到您的#play-videoCSS 样式。


这个备用jsFiddle不使用任何z-index属性,只使用position:absolute子元素的设置#play-video

于 2012-12-19T03:21:03.043 回答