javascript - 向视频元素添加/删除类

标签 javascript css video

我正在开发一个信息亭式网页以显示选项菜单。单击标题会打开一个全屏视频,然后在视频结束时关闭并返回到菜单。

为了保持页面整洁,我想隐藏 video 元素,直到视频真正被点击调用为止。我用 CSS 类做到了这一点。视频全屏打开,完成后关闭并再次添加 hide 类。

工作脚本

$(document).ready(function() {
  $('.cell').on('click', function() {
    var element = this.getElementsByTagName('video');
    var m = element[0].getAttribute('id');

    console.log(m);
    var v = document.getElementById(m);
    if (v.webkitRequestFullscreen) {
      v.className = "";
      v.webkitRequestFullscreen();
    }
    v.play();

    $("#" + m).on("ended", function() {
      this.webkitExitFullscreen();
      this.className = "hide";
    });
  })
})

如果用户自行退出全屏视频,我会遇到视频不隐藏的问题。我尝试使用基于 HTML5 视频 API 的 $("#"+ m).on("ended"|| "resize", function()...,但这没有用。我还考虑过禁用点击或覆盖全屏 div 以获取任何点击并强制视频一直播放,但这对我来说似乎很可疑。关于如何处理这个问题的任何想法?

Here's a CodePen demo of the content and script

最佳答案

空格分隔列表:

$("#" + m).on("ended resize"

要使其正常工作,您可能需要这个技巧:How to detect DIV's dimension changed?

更新:我能够捕捉到全屏事件:

$(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange', function(e){
    console.log("fullscreen change");
});

关于javascript - 向视频元素添加/删除类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35259156/

相关文章:

javascript - Webpack 版本 5.1.2 "MainTemplate.hooks.startup has been removed"出错

javascript - 如何找到 div 中的所有链接(及其所有子元素)

没有类/id的 parent 的CSS

CSS 列表对齐和响应式设计

video - 如何使用 FFmpeg 直播本地视频

ios - 在 QBVideoChat 中公开 AVAudioSession

javascript - 对 JavaScript 数组中每个不同值的变量赋予不同的值

javascript - 如何突破 .each() 并为函数返回一个值

jQuery 循环和重置自定义 css 动画

android - 使用 Android Camera Intent 从同一个按钮拍摄视频或静态图片