javascript - 使用 HTML5 和 css3 的模态窗口

标签 javascript jquery html css

您好,我正在将此弹出窗口用于带有 html5 和 css3 的模态窗口

HTML:

<a href="#openModal">Open Modal</a>
<div id="openModal" class="modalDialog">
    <div>
        <a href="#close" title="Close" class="close">X</a>
        <h2>Modal Box</h2>
        <p>This is a sample modal box that can be created using the powers of CSS3.</p>
        <p>You could do a lot of things here like have a pop-up ad that shows when your website loads, or create a login/register form for users.</p>
    </div>
</div>

CSS:

.modalDialog:target {
    opacity: 1;
    pointer-events: auto;
}

.modalDialog > div {
    width: 400px;
    position: relative;
    margin: 10% auto;
    padding: 5px 20px 13px 20px;
    border-radius: 10px;
    background: #fff;
    background: -moz-linear-gradient(#fff, #999);
    background: -webkit-linear-gradient(#fff, #999);
    background: -o-linear-gradient(#fff, #999);
}

.close {
    background: #606061;
    color: #FFFFFF;
    line-height: 25px;
    position: absolute;
    right: -12px;
    text-align: center;
    top: -10px;
    width: 24px;
    text-decoration: none;
    font-weight: bold;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    -moz-box-shadow: 1px 1px 3px #000;
    -webkit-box-shadow: 1px 1px 3px #000;
    box-shadow: 1px 1px 3px #000;
}

.modalDialog > div {
    width: 400px;
    position: relative;
    margin: 10% auto;
    padding: 5px 20px 13px 20px;
    border-radius: 10px;
    background: #fff;
    background: -moz-linear-gradient(#fff, #999);
    background: -webkit-linear-gradient(#fff, #999);
    background: -o-linear-gradient(#fff, #999);
}

.close {
    background: #606061;
    color: #FFFFFF;
    line-height: 25px;
    position: absolute;
    right: -12px;
    text-align: center;
    top: -10px;
    width: 24px;
    text-decoration: none;
    font-weight: bold;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    -moz-box-shadow: 1px 1px 3px #000;
    -webkit-box-shadow: 1px 1px 3px #000;
    box-shadow: 1px 1px 3px #000;
}

.close:hover {
    background: #00d9ff;
} 

问题是:
当窗口内正在播放视频并且我将其关闭时,视频并没有停止,我仍然可以听到背景声音。有没有办法强制重置或停止视频?

最佳答案

通过 jQuery 函数试试这个。检查 fidde link

Js:

$(document).ready(function () {
    $("#vid")[0].pause();
};

function hidevideo() {
    document.getElementById("openModal").style.display = "none";
    $("#vid")[0].pause();
};

function openvideo() {
    document.getElementById("openModal").style.display = "block";
    setTimeout(function () {
        $("#vid")[0].play();
    }, 200);
    $("#vid")[0].play();
};

HTML:

<a onclick="openvideo();">Open Modal</a>
<div id="openModal" class="modalDialog">
  <div>
    <a href="javascript;" title="Close" class="close" onclick="hidevideo()">X</a>
    <h2>Modal Box</h2>
    <video autoplay="autoplay" id="vid" preload="none" controls>
      <source src="video/video.mp4" type="video/mp4">
    </video>
  </div>
</div>

关于javascript - 使用 HTML5 和 css3 的模态窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47427732/

相关文章:

javascript - Fire 方法填充详细信息 View 控件,来自 jquery 自动完成输入

javascript - 捕获刷新并将页面更改为index.html

jquery - 使用 Bootstrap 在图标旁边显示弹出窗口

javascript - 如何根据容器的某些尺寸限制将图像宽度设置为 100%?

javascript - 两个日期相减会导致小时数不正确

javascript - 如何使用 Javascript 从 AWS S3 检索多个对象,然后在检索到它们后执行某个函数?

javascript - 如何在 Javascript 中获取字母表中的下一个字母?

CSS 文本对齐属性

javascript - HTML 自动播放视频并从文件夹继续循环

html - 如何仅在悬停幻灯片时显示箭头