对于宽度为100%的视频,jquery height()函数( 编辑 :innerHeight()和outerHeight()也是 )在不同的浏览器中返回不同的数字
请参阅http://www.bootply.com/iNuBWZeWCx
我的分辨率为1920x1080,但浏览器会针对任何特定分辨率返回不同的数字。浏览器窗口最大化时我的分辨率视频的真实高度为1047px
为什么Chrome + IE输出952?他们是怎么得到这个号码的?我如何获得正确的高度?
以下代码按要求...
<p id="videoheight"></p>
<video id="bgvideo" style="width:100%;">
<source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
<source src="http://www.w3schools.com/html/mov_bbb.ogg" type="video/ogg">
</video>
<script type="text/javascript">
$(document).ready(function() {
$("#videoheight").text($("#bgvideo").innerHeight());
});
</script>
编辑:
答案 0 :(得分:2)
我的猜测是这是一个时间问题。由于您的视频可能尚未加载,因此在您请求身高时,视频文件的尺寸仍然未知。
您应该等待loadedmetadata事件。
$(function () {
$("#bgvideo").bind("loadedmetadata", function () {
$("#videoheight").text($(this).innerHeight());
});
});
答案 1 :(得分:1)
我的分辨率也是1920x1080,使用“宽度:109.99%”。 http://www.bootply.com/3cCMYE77fs
<p id="videoheight"></p>
<video style="width:109.99%" id="bgvideo" controls="">
<source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
<source src="http://www.w3schools.com/html/mov_bbb.ogg" type="video/ogg">
</video>