【发布时间】:2019-04-22 18:25:15
【问题描述】:
我在 YouTube 上进行了一个简单的表单弹出模式演练,然后用 iFrame YouTube 嵌入替换了表单代码。那家伙正在使用 Atom.io,所以我使用了它,一切正常,除了音频一直在播放。
我是个新手,边走边学。在 js 代码中,指南以“文档”一词开头,但在 StackOverflow 上,人们使用 $ 符号,然后直接使用 function()。这个问题已被多次回答,但我不知道如何将该代码合并到我拥有的代码中。我知道视频播放只是被暂停了。
例如,Stop video when modal is closed 看起来正是我所需要的,只是我想不出如何将它与我的文件合并。我可以直接使用他们的代码,但是视频中没有解释 var 和元素。
我已经尝试添加
document.querySelector(".bg-modal").attr = "src","";
但这只是打破了它。我使用 w3schools 来获取代码方面的帮助。
HTML
<!-- Modal Section -->
<div class="bg-modal">
<div class="modal-content">
<div class="close">+</div>
<iframe width="840" height="472" src="https://www.youtube.com/embed/U5u9glfqDsc" frameborder="0" encrypted-media; picture-in-picture " allowfullscreen></iframe>
</div>
</div>
CSS
.bg-modal {
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.7);
position: absolute;
top: 0;
display: flex;
justify-content: center;
align-items: center;
display: none;
}
.modal-content {
width: 860px;
height: 472px;
background-color: rgb(192, 255, 255);
border-radius: 8px;
text-align: left;
padding: 0px;
position: relative;
}
.close {
position: absolute;
top: -5px;
right: 0px;
font-size: 32px;
transform: rotate(45deg);
cursor: pointer;
}
Javascript
document.getElementById("button").addEventListener("click", function() {
document.querySelector(".bg-modal").style.display = "flex";
});
document.querySelector(".close").addEventListener("click", function() {
document.querySelector(".bg-modal").style.display = "none";
});
将视频嵌入到空白页面并在模态中显示会更容易吗?随着网站的发展,这将是更多的工作,但至少现在是这样:/。或者如果 js 只是以某种方式将目标更改为空。
【问题讨论】:
-
document.querySelector(".bg-modal").attr = "src",""";是错误的语法有两个原因。一,那个逗号不合适,二,你有三个引号,它被解析为一个未终止的字符串。试试document.querySelector('.bg-modal').setAttribute('src', '') -
这个还在播放。我注释掉了关闭行,因此这将是单击 X 的唯一命令,并且视频不受影响。
标签: javascript html css iframe bootstrap-modal