javascript - 带视频的模态弹窗,关闭后继续播放音频

标签 javascript html css

我在我的网站上制作了一个弹出式视频按钮​​。 但是,当我关闭它或单击模态输出空间时,音频仍在继续。

我该如何解决这个问题? 我尝试了一些 javascript 函数,但我认为我做错了什么......

谢谢!

// Get the modal
var modal = document.getElementById('myModal');

// Get the button that opens the modal
var btn = document.getElementById("myBtn");

// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];

// When the user clicks the button, open the modal
btn.onclick = function() {
  modal.style.display = "block";
}

// When the user clicks on <span> (x), close the modal
span.onclick = function() {
  modal.style.display = "none";
}

// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
  if (event.target == modal) {
      modal.style.display = "none";
  }
}
<button type="button" class="button" id="myBtn">Watch Video</button>
<div id="myModal" class="modal">

<!-- Modal content -->
<div class="modal-content">
  <div class="modal-header">
    <span class="close">×</span>
  </div>
  <div class="modal-body">
<iframe width="560" height="315" src="https://www.youtube.com/embed/QH2-TGUlwu4" frameborder="0" allowfullscreen></iframe>
  </div>
  <div class="modal-footer">
  </div>
</div>

</div>

最佳答案

最简单的方法是重新分配 iframe video src 值,以便它自行重置并停止。例如。为您的 iframe 分配一个示例 id="yplayer" 的 ID,然后在您要停止并重新加载视频的位置使用以下语句。

document.getElementById('yplayer').src = document.getElementById('yplayer').src;

第二个选项是使用 youtube api 函数,这将涉及更多的代码处理。 Youtube API Docs

希望这对您有所帮助。

关于javascript - 带视频的模态弹窗,关闭后继续播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40889926/

相关文章:

css - Chrome 和 Firefox 之间 flexbox 中的背景图像大小不一样

javascript - 使用类的HTML5 Canvas形状(需要Node.js)

javascript - html中如何让body和div元素之间没有空格

javascript - 如果 X 与 Y 的 href 匹配,则添加类 'active' - jQuery

javascript - 在没有中间 DOM 节点的 Aurelia 中渲染组件

javascript - DataTables 不显示 JSON 数据

javascript - 在 JavaScript 中使用解构的正确方法

javascript - 如何将图像添加到织物 Canvas ?

javascript - 修改 Jquery 以在不同位置展开每张照片

jquery - 当我在响应模式下切换菜单时,菜单会隐藏