【发布时间】:2020-10-23 13:34:16
【问题描述】:
我出于自己的目的编辑了下面答案给出的代码。
How to display a text on the top of Media Player on full screen?
我使用 jsfiddle 来编辑和测试代码。这是我编辑的代码: https://jsfiddle.net/uqgv8tny/
var overlay= document.getElementById('overlay');
var video= document.getElementById('v');
video.addEventListener('progress', function() {
var show= video.currentTime>=5 && video.currentTime<10;
overlay.style.visibility= show? 'visible' : 'visible';
}, false);
#overlay1 {
position: absolute;
top: 000px;
left: -110px;
color: #00F;
text-align: left;
font-size: 20px;
width: 640px;
padding: 10px 0;
z-index: 2147483647;
}
#overlay2 {
position: absolute;
top: 000px;
left: 650px;
color: #00F;
text-align: left;
font-size: 20px;
width: 640px;
padding: 10px 0;
z-index: 2147483647;
}
#v {
z-index: 1;
}
<video id="v" controls>
<source id='mp4'
src="https://videos.footballia.net/uploads/video/source_file/17882/1970CheLeeRP1st.mp4"
type='video/mp4'>
<source id='webm'
src="https://videos.footballia.net/uploads/video/source_file/17882/1970CheLeeRP1st.webm"
type='video/webm'>
<source id='ogv'
src="https://videos.footballia.net/uploads/video/source_file/17882/1970CheLeeRP1st.ogv"
type='video/ogg'>
<p>Your user agent does not support the HTML5 Video element.</p>
</video>
<div id="overlay1">1 Bonetti<br>2 Harris<br>3 McCreadie<br>4 Hollins<br>5 Dempsey<br>6 Webb<br>7 Baldwin<br>8 Cooke<br>9 Osgood<br>10 Hutchinson<br>11 Houseman<br><br>12 Hinton </div>
<div id="overlay2">1 Harvey<br>2 Madeley<br>3 Cooper<br>4 Bremner<br>5 Charlton<br>6 Hunter<br>7 Lorimer<br>8 Clarke<br>9 Jones<br>10 Giles<br>11 Gray </div>
文本按预期添加,但是当我将视频置于全屏模式时,文本消失了。此问题存在于原始代码中,并不是由对我的代码的编辑引起的。我是否必须保存代码而不是通过 jsfiddle 运行它,如果是,我如何将这三个文件相互连接(我在大学学习期间使用过 C 和 Fortran,但我以前从未使用过这种编程语言)。还是代码本身的问题?
【问题讨论】:
-
这应该会发生。只有视频全屏显示。如果你需要叠加层也出现,你需要把父级全屏,但是你不能覆盖浏览器全屏按钮的功能,所以你还需要至少在 HTML 中重新创建那个按钮。
-
全屏隐藏除全屏元素外的所有内容。创建一个包装器并将文本放入其中(并为您的视频实现自定义控件)或在视频元素上使用字幕轨道来显示文本。
标签: javascript