javascript - 确保 HTML 5 视频始终在其他所有内容之上播放

标签 javascript html css

我有一个如下所示的文档:

var currentScene = "";

function loadStandings(stinger) {
  let timeout = 0;

  if (stinger) {
    let transition = document.getElementById("stinger");
    transition.play();
    timeout = 750;
  }

  window.setTimeout(() => {
    let request = new XMLHttpRequest();

    request.open("GET", "elements/standings.html", true);

    request.onload = () => {
      if (request.status >= 200 && request.status < 400) {
        document.getElementById("container").innerHTML = request.responseText;
      }
    };

    request.send();
  }, timeout);
}
#container {
  position: absolute;
  width: 1920px;
  height: 1080px;
  z-index: 0;
}

#stinger {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 1920px;
  min-height: 1080px;
  z-index: 1000;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <style>
    body {
      font-family: "Montserrat";
    }
  </style>
  <script type="text/javascript" src="index.js"></script>
</head>

<body>
  <div id="stinger-container">
    <video id="stinger">
			<source src="gfx/transitions/Wipe02.webm">
		</video>
  </div>
  <div id="container">

  </div>
</body>

</html>

loadStandings 被调用,并且视频(应该是一个 stinger 过渡)播放。但是,当超时并且 container div 的内容被我加载的内容替换时,视频立即消失在背景中并被新加载的内容覆盖。它确实会继续在背景、声音和所有内容中播放,但这不是我想要的。

我希望视频在加载过程中保持在顶部,而不是内容切入视频并使其消失 - 它有一个 Alpha channel ,并且应该覆盖没有内容 -> 加载时的不和谐剪切内容。

有办法实现这一点吗?我已经尝试了所有我能想到的 CSS 肮脏技巧;设置 z-index 似乎也不会影响任何东西。

最佳答案

我是个彻头彻尾的白痴。修复结果是将这个小片段添加到我的 html 中:

<link rel="stylesheet" type="text/css" href="index.css">

...不是我最辉煌的时刻...

关于javascript - 确保 HTML 5 视频始终在其他所有内容之上播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60425934/

相关文章:

html - 使用 CSS 将 textarea 设置为只读

javascript - core-js 包很大(使用 62kB)

javascript - 返回数组中出现次数最多的单词

javascript - 如何每天创建一个新日志

javascript - 在纯 JavaScript 中删除具有相同类的所有元素

php - 将输入更改为文本区域时不显示数据

html - 使用 flex : 1 auto;

jquery - 在 Handlebars JS 中循环遍历唯一的 json 格式数据

css - 文本和 SVG 之间没有换行符

html - 为什么我的 img 在我的 HTML/CSS 表格中的大小不正确?