6

我正在尝试使用 Magnific-Popup jQuery 插件创建一个包含几个画廊的页面。s 中包含的不同部分div具有单独的 id 和.gallery包含图像的类。

<div id="content_1">
    <p>Some content</p>
    <div class="gallery">
        <a href="img/pic_1"><img src="img/pic_1.jpg"></a>
        <a href="img/pic_2"><img src="img/pic_2.jpg"></a>
    </div>
</div>
<div id="content_2">
    <p>More content</p>
    <div class="gallery">
        <a href="img/pic_3"><img src="img/pic_3.jpg"></a>
        <a href="img/pic_4"><img src="img/pic_4.jpg"></a>
    </div>
</div>

为了让画廊在弹出窗口中分开,我为每个内容部分多次初始化脚本。但是,当我这样做时,在第一个内容部分之后,画廊弹出窗口中的图像(准确地说是两倍)比我链接的要多。我是 javascript 新手,所以我不确定我是否只是遗漏了一些明显的东西。

4

1 回答 1

17

文档中:

要在一个页面上有多个画廊,您需要为每个单独的画廊创建一个新的 Magnific Popup 实例。例如

<div class="gallery">
    <a href="path-to-image.jpg">Open image 1 (gallery #1)</a>
    <a href="path-to-image.jpg">Open image 2 (gallery #1)</a>
</div>
<div class="gallery">
    <a href="path-to-image.jpg">Open image 1 (gallery #2)</a>
    <a href="path-to-image.jpg">Open image 2 (gallery #2)</a>
    <a href="http://vimeo.com/123123" class="mfp-iframe">Open video (gallery #2). Class mfp-iframe forces "iframe" content type on this item.</a> 
</div>

Javascript

$('.gallery').each(function() { // the containers for all your galleries
    $(this).magnificPopup({
        delegate: 'a', // the selector for gallery item
        type: 'image',
        gallery: {
          enabled:true
        }
    });
});

希望有帮助!

于 2015-10-28T16:06:40.487 回答