如何将内嵌元素与具有显示图库的大型弹出窗口中的图像组合在一起

时间:2013-07-31 19:43:30

标签: javascript jquery gallery magnific-popup

我正在使用Magnific Popup

我可以使用galleries

$(document).ready(function() {
    $('.popup-gallery').magnificPopup({
        delegate: 'a',
        type: 'image',
        gallery: {
            enabled: true,
            navigateByImgClick: true,
        }
    });
});

我实际上也可以混合内联元素with images,这基本上就是我想要的:

$('#open-popup').magnificPopup({
    items: [
      {
        src: 'http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Peter_%26_Paul_fortress_in_SPB_03.jpg/800px-Peter_%26_Paul_fortress_in_SPB_03.jpg',
        title: 'Peter & Paul fortress in SPB'
      },
      {
        src: 'http://vimeo.com/123123',
        type: 'iframe' // this overrides default type
      },
      {
        src: $('<div class="white-popup">Dynamically created element</div>'), // Dynamically created element
        type: 'inline'
      },
      {
        src: '<div class="white-popup">Popup from HTML string</div>', // HTML string
        type: 'inline'
      },
      {
        src: '#my-popup', // CSS selector of an element on page that should be used as a popup
        type: 'inline'
      }
    ],
    gallery: {
      enabled: true
    },
    type: 'image' // this is a default type
});

我的问题是,在混合示例中,我没有显示缩略图“图库”,我基本上想要的是thumnail图像,点击时表现得像一个图库,但中间有一个内联元素。

内联元素将具有缩略图(和实际图像),但单击时将是内联元素。

我能够使用fancybox执行此操作,如果您点击缩略图,则可以看到here,这可能有助于澄清我需要的内容。 (我正试图用Magnific popup来实现同样的功能,因为缺少移动设备的移动支持)。

2 个答案:

答案 0 :(得分:2)

您可以将mfp-TYPE CSS类添加到应具有非默认内容类型的缩略图元素。 http://dimsemenov.com/plugins/magnific-popup/documentation.html#content_types

答案 1 :(得分:0)

jQuery(document).ready(function($) {
    $('.owl-wrapper').magnificPopup({
            delegate: 'a',
            type: 'image',
            tLoading: 'Loading image #%curr%...',
            mainClass: 'mfp-img-mobile',
            gallery: {
                enabled: true,
                navigateByImgClick: true,
                preload: [0,1]
            },
            image: {
                tError: '<a href="%url%">The image #%curr%</a> could not be loaded.',
            },
            callbacks: {
                elementParse: function(item) {
         if(item.el.context.className == 'video-link') {
             item.type = 'iframe';
         } else if(item.el.context.className == 'inline-link') {
            item.type = 'inline';
         } else {
             item.type = 'image';
         }
                }
            },
    });
});