答案 0 :(得分:5)
我假设您希望您的div与视频大小相同。 This thread给你一个非常好的答案。
setInterval(function() {
var width = $("#vid").width();
var height = $("#vid").height();
$(".goover").css({
'width': width,
'height': height
});
}, 10);
.test{
position:relative
}
.goover{
width: 2px;
height: 2px;
border: solid 2px red;
background: rgba(255,0,0,0.8);
position: absolute;
z-index: 10;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test">
<div class="goover"></div>
<video width="400" id="vid" controls autoplay>
<source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
Your browser does not support HTML5 video.
</video>
</div>
我修改了一小段代码以便更好地匹配你的代码片段。我还在红色背景中添加了一点透明度,这样你就可以看到div在视频上重叠了。
编辑:
在UC-Browser V6.1.2015.1007(目前为最新版本)上测试过,它运行正常。
EDIT2:
控件没有隐藏在UC浏览器中,通过添加z-index将其修复为css。
EDIT3:
我在视频广告代码中添加了自动播放属性,以便在播放模式下看到它正常工作。
答案 1 :(得分:0)
这个怎么样:
https://jsfiddle.net/zpjsz8g8/1/
.test { position: relative }
.goover {
position: absolute;
background: #ff0000;
top: 0;
bottom: 0;
left: 0;
/*right:0px*/
width: 400 px;
z - index: 1;
}
或
var videoContainer = document.getElementsByTagName('video')[0];
var goover = document.getElementsByClassName('goover')[0];
goover.style.height = videoContainer.getBoundingClientRect().height + 'px';
goover.style.width = videoContainer.getBoundingClientRect().width + 'px'