我想在全屏显示视频。我使用的是html5元素,代码如下。
javascript代码
$('document').ready(function()
{
var o_vid_width=$('#vid1').width();
var o_vid_height=$('#vid1').height();
alert(o_vid_width);// output 300px
var height = $(window).height();
var width = $(window).width();
alert(width)// //output 1280
if(o_vid_width<=width){
o_vid_width=width ;
alert(o_vid_height)// out put 150 px
}
});
HTML代码
<video id="vid1" autoplay loop >
<source src="viedos/viedo.mp4" type="video/mp4" >
<source src="viedos/viedo.ogg" type="video/ogg" >
Your browser does not support the video tag.
</video>
在上面的代码中,我试图将窗口宽度的值重新分配给o_vid_width,它应该是1280px;但它给了我150。我不知道为什么它表现得很奇怪?
//我尝试下面的代码,即使它显示两边的边距。我希望它会覆盖整个窗口,当我减小尺寸,即使它将在整个窗口显示没有边距。 var min_w = 300; //允许的最小视频宽度 var vid_w_orig; //原始视频尺寸 var vid_h_orig;
jQuery(function(){//在DOM加载后运行
vid_w_orig = parseInt(jQuery('video').attr('width'));
vid_h_orig = parseInt(jQuery('video').attr('height'));
jQuery(window).resize(function () { resizeToCover(); });
jQuery(window).trigger('resize');
});
function resizeToCover(){
// set the video viewport to the window size
jQuery('#vid1').width(jQuery(window).width());
jQuery('#vid1').height(jQuery(window).height());
// use largest scale factor of horizontal/vertical
var scale_h = jQuery(window).width() / vid_w_orig;
var scale_v = jQuery(window).height() / vid_h_orig;
var scale = scale_h > scale_v ? scale_h : scale_v;
// don't allow scaled width < minimum video width
if (scale * vid_w_orig < min_w) {scale = min_w / vid_w_orig;};
// now scale the video
jQuery('video').width(scale * vid_w_orig);
jQuery('video').height(scale * vid_h_orig);
}
答案 0 :(得分:1)
HTML5全屏视频
<!doctype html>
<html lang="en">
<head>
<style type="text/css">
video{
margin: 0 auto; padding: 0;
}
body{
background-color:black;
}
</style>
</head>
<body>
<video id="myvideo" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$( document ).ready(function() {
var w = ($(window).width()) -20;
var h = ($(window).height()) -30;
$("#myvideo").height(h);
$("#myvideo").width(w);
});
$(window).resize(function() {
var w = ($(window).width()) -20;
var h = ($(window).height()) -30;
$("#myvideo").height(h);
$("#myvideo").width(w);
});
</script>
</body>
</html>
答案 1 :(得分:0)
如果您有视频尺寸,请按以下步骤操作:
var d = $(window),
e = $(".secao"),
f = e.children("div.video"),
b, c, j = 1920, k = 1200,
l = d.width(),
winH = d.height(),
winH = winH > 600 ? winH : 600,
c = Math.max(l / j, winH / k),
b = Math.round(k * c) + "px";
f.children("video").css({
height: b
})
});
并将溢出设置为隐藏。
div#intro.secao {
background-color: #000000;
height: 100%;
overflow: hidden;
position: relative;
}