【发布时间】:2021-02-09 21:58:25
【问题描述】:
我是 javascript 的新手,我正在使用全屏 API 构建全屏播放视频。
在我的应用程序中,我试图在用户退出全屏模式时触发视频 div 中的 css 更改,但它似乎不起作用。我的猜测是我称 else 语句是错误的,但我不确定它错在哪里。非常感谢一些帮助:)
代码贴在下面
HTML
<div id="film">
<video class="video_player" id="player" width="20%" controls="controls" muted >
<source src="/testmovie.mp4"/>
</video>
</div>
<button id="fullscreenFilm" onclick="goFullscreen('player'); playVid();">
PLAY FILM
</button>
CSS
#film {
display:none;
}
JS
var vid = document.getElementById('player');
var container = document.getElementById('film');
function goFullscreen(id) {
var element = document.getElementById(id);
if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}
else {
if (element.exitFullscreen) {
element.exitFullscreen();
container.style.display = "none";
}
}
}
function playVid() {
container.style.display = "block";
vid.play();
vid.currentTime = 0;
}
编辑 1
我尝试了这种新方法来检测何时关闭全屏,但 display:none 仍然无法正常工作。
function goFullscreen(id) {
var element = document.getElementById(id);
if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}
}
function toggleFullScreen() {
if (!vid.mozFullScreen && !document.webkitFullScreen) {
if (vid.mozRequestFullScreen) {
vid.mozRequestFullScreen();
} else {
vid.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
}
document.mozFullScreen = true;
document.webkitFullScreen = true;
} else {
if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else {
document.webkitCancelFullScreen();
}
}
}
document.addEventListener("keydown", function(e) {
if (e.keyCode == 13) {
toggleFullScreen();
container.style.display = "none";
}
}, false);
function playVid() {
container.style.display = "block";
vid.play();
vid.currentTime = 0;
}
【问题讨论】:
标签: javascript jquery video fullscreen