获取响应式YouTube视频的高度

时间:2015-06-11 11:08:50

标签: jquery youtube

我需要获得响应式YouTube视频的高度。我尝试在几个不同的选择器上使用jQuery,例如.extradiv,#video_background_video_0以及iframe中的一些,如$('#video_background_video_0_yt')。height()

然而,一切都变为零甚至0.2。

我如何获得youtube视频的高度?

<div class="extradiv">
<div id="video_background_video_0" style="z-index: 0; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; overflow: hidden;">

            <iframe id="video_background_video_0_yt" style="position: absolute; left: 0px;" frameborder="0" allowfullscreen="1" title="YouTube video player" width="1349" height="759" src="https://www.youtube.com/embed/1CXFhQ33_xs?loop=0&amp;start=0&amp;autoplay=0&amp;controls=1&amp;showinfo=0&amp;wmode=transparent&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;enablejsapi=1&amp;origin=http%3A%2F%2Fwww.onscreencounselling.com"></iframe>

            </div><div class="edclearer"></div><!-- added to see if I can get a height of video_background_video_0-->
            <!--extradiv--></div>

的CSS:

.extradiv {
    height:100%;
}

#video_background_video_0 {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}

iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

1 个答案:

答案 0 :(得分:1)

检查出来:http://jsbin.com/qinaruxune/2/edit?css,js,console,output

我只是使用这个Javascript代码:

var videoContainer = document.querySelector("#video_background_video_0");
console.log(videoContainer.getBoundingClientRect().height);

此代码使用id &quot; video_background_video_0&#39; 的元素,并使用函数 getBoundingClientRect()获取元素的边界高度,是元素的高度。