关闭模态时视频停止运行

时间:2015-12-19 16:34:49

标签: html css modal-dialog

我有一个问题,我觉得很容易解决,但是我没有足够的知识来解决它。我已经在这里读过一些问题,但似乎没有一个问题可以解决我的问题(我很确定我做错了什么,呵呵)

当我关闭模态时,我希望播放的视频停止播放

HTML:

打开模态:

<center>
<a href="#openTrailer">
<img src="IMAGE LINK">
</center>

模态:

<div id="openTrailer" class="boxTrailer">
<div><a href="#close" title="Fechar" class="close">X</a>
<iframe id="player" width="560" height="315" src="https://www.youtube.com/embed/sY1S34973zA" frameborder="0" allowfullscreen></iframe>
</div>
</div>

CSS:

.boxTrailer {
    overflow: auto;
    position: fixed;
    font-family: Arial, Helvetica, sans-serif;
    color:#fff;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 99999;
    opacity:0;
    -webkit-transition: opacity 400ms ease-in;
    -moz-transition: opacity 400ms ease-in;
    transition: opacity 400ms ease-in;
    pointer-events: none;
}
.player {
    overflow: auto;
    position: fixed;
    font-family: Arial, Helvetica, sans-serif;
    color:#fff;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 99999;
    opacity:0;
    -webkit-transition: opacity 400ms ease-in;
    -moz-transition: opacity 400ms ease-in;
    transition: opacity 400ms ease-in;
    pointer-events: none;
}
.boxTrailer:target {
    opacity:1;
    pointer-events: auto;
}
.player:target {
    opacity:1;
    pointer-events: auto;
}
.boxTrailer > div {
    width: 600px;
    position: relative;
    margin: 10% auto;
    padding: 5px 20px 13px 20px;
    border-radius: 7px;
    background-color: black;
}
.player > div {
    width: 600px;
    position: relative;
    margin: 10% auto;
    padding: 5px 20px 13px 20px;
    border-radius: 7px;
    background: #000;
    background: -moz-linear-gradient(#fff, #999);

    background: -o-linear-gradient(#fff, #999);
}
.close {
    background: #606061;
    color: #FFFFFF;
    line-height: 25px;
    position: absolute;
    right: 10px;
    text-align: center;
    top: -20px;
    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;
}

1 个答案:

答案 0 :(得分:0)

你可以将你所拥有的东西粘贴到JSFiddle上,因为即使CSS在某种意义上是有用的,当它在像JSFiddle这样的东西中使用时它更有用。否则,将你的HTML与你所要求的内容一起发布是有点毫无意义的。

也许HTML文件中的以下内容可能适合您?

<div id="link"><img src="IMAGE LINK" style="cursor:pointer"></div>    

<div id="openTrailer" class="boxTrailer"><div>
<a href="#close" title="Fechar" class="close" id="close">X</a>
<iframe id="player" width="560" height="315" frameborder="0" allowfullscreen></iframe>
</div></div>

在底部的同一页面上添加:

<script>
$('#link').click(function () {
    var src = 'https://www.youtube.com/embed/sY1S34973zA';
    $('#openTrailer iframe').attr('src', src);
});
$('#openTrailer').on($('#close').click(function () {
    $('#openTrailer iframe').removeAttr('src');
}));
</script>

这是为了让您了解自己可以做些什么。所以这个或类似的东西应该适合你。那是因为它可能需要更多的改进。

我有一个可用的Bootstrap版本,但对于上面的代码,我拿出了引用Bootstrap的内容。

如果你碰巧使用了Bootstrap,我可以给你一些能够满足你要求的代码。

虽然另一种方法可能是:

<a href="#close" title="Fechar" class="close" id="close" onclick="closeVideo()">X</a>

<script>
$('#close').click(function(){$('#openTrailer iframe').removeAttr('src', src);});
</script>