我需要获得响应式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&start=0&autoplay=0&controls=1&showinfo=0&wmode=transparent&iv_load_policy=3&modestbranding=1&rel=0&enablejsapi=1&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%;
}
答案 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()获取元素的边界高度,是元素的高度。