javascript - Bootstrap 模式内的 Magnific-Popup

标签 javascript jquery twitter-bootstrap modal-dialog magnific-popup

我正在使用Bootstrap's modal来渲染一些内容。在此内容中,我有一个视频链接,并且我正在使用 jQuery 插件 Magnific-Popup打开此视频。

但是当我在模式中并单击视频链接时,视频会在模式的背景中开始。我必须关闭模式才能看到它。如何使 Magnific-Popup 位于顶部?

我尝试更改 Magnific-Popup 的 z-index,但它已经在 1000+,所以没有效果。

基本上,我所拥有的是:

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-body">
        <a class="popup-youtube" href="https://www.youtube.com/watch?v=alJ8FmokHBo">Open YouTube video</a>
      </div>
    </div>
  </div>
</div>

<script>
$(document).ready(function() {
    $('.popup-youtube').magnificPopup({
        disableOn: 700,
        type: 'iframe',
        mainClass: 'mfp-fade',
        removalDelay: 160,
        preloader: false,

        fixedContentPos: false
    });
});
</script>

I created a JSFiddle如果需要的话可以进行演示。

最佳答案

选项 1:

data-dismiss="modal" 添加到您的

<a class="popup-youtube" href="https://www.youtube.com/watch?v=alJ8FmokHBo">Open YouTube video</a>

关闭 Bootstrap 模式。

我 fork 了你的JSFiddle来证明这一点。

选项 2:

如果您想保持模式打开,则增加 Magnific Popupcontainer 上的 z-index (2000 对我有用,但底线是它需要大于模式的 z-index)这是要走的路。

<div class="mfp-wrap mfp-close-btn-in mfp-auto-cursor mfp-fade mfp-ready"
    tabindex="-1" 
    style="top: 0px; position: absolute; height: 386px; z-index: 2000">
    <div class="mfp-container mfp-iframe-holder">
        <div class="mfp-content">
            <div class="mfp-iframe-scaler">
                <button class="mfp-close" type="button" title="Close (Esc)">×</button>
                <iframe frameborder="0" allowfullscreen="" src="//www.youtube.com/embed/alJ8FmokHBo?autoplay=1" class="mfp-iframe"></iframe>
            </div>
        </div>
    </div>
</div>

编辑:我刚刚检查过,.modal BootStrap 类的 z-index 为 1050,.mfp- wrap 类的 z-index 为 1043,这就是模态框位于顶部的原因。

这是另一个 JSFiddle使用 CSS 修改而不是 data-dismiss

请注意,放大弹出窗口关闭按钮不起作用。它还具有需要更改的 z 索引,并且可能还有其他索引。 data-dismiss 选项将是最干净的,除非您绝对需要模式保持打开状态。

关于javascript - Bootstrap 模式内的 Magnific-Popup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32212686/

相关文章:

javascript - Nativescript (JavaScript) 中的函数中的绑定(bind)变量未更新

javascript - 我需要为我的 Chrome 扩展程序提供什么权限(如果有)才能让它进行远程 AJAX 调用?

javascript - HTML Canvas 留下不需要的痕迹

javascript - 在 MVC 中使用类型 ="button"进行 ajax 时,jQuery.validate.js 不起作用

html - 如何创建将适当调整大小的复杂 html+css 导航

angularjs - 将 Bootstrap Collapse 与 AngularJS 一起使用

javascript - 赋值和自增同时报错,为什么?

javascript - 如何回显数据类型 ="address"?

javascript - 将变量分配给输入值

javascript - bootstrap-datetimepicker:将分钟固定为某个值