2014-04-09 70 views
3

是否有可能强制扩展弹出从img标签的'src'属性中获取图像url?这样就不需要用标签来包装img。 我尝试了下面的代码,但它不起作用。返回的错误是'未定义'网址。Magnific-popup:如何从<img src="...">得到图片网址?

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $('div.gallery').magnificPopup({delegate: 'img'.attr('src') , type: 'image', gallery:{enabled:true} 
    }); 
    }); 
</script> 

总之,是否有任何选项只与'img'有关,没有'a'标签? 谢谢!

回答

7
<script type="text/javascript"> 
    $(document).ready(function(){ 
    $('div.gallery').magnificPopup({delegate: 'img' , type: 'image', gallery:{enabled:true}, 

    callbacks: { 
      elementParse: function() { this.item.src = this.item.el.attr('src'); } 
    } 

    }); 
    }); 
</script> 

elementParse http://dimsemenov.com/plugins/magnific-popup/documentation.html#api

+0

这有史以来的工作?我尝试了类似的东西,但它不适合我。 – Hugo

+2

这个答案对我无效。将回调更改为以下工作:'elementParse:function(item){item.src = item.el.attr('src'); }' –

2

接受的答案没有工作对我来说,无论是。我最终使用了data-mfp-src属性,它覆盖了href中的值(如下所述:http://dimsemenov.com/plugins/magnific-popup/documentation.html#content-types)。

我没有手动添加属性(复制图像的src),而是在magnificPopup调用之前将所有图像的src值复制到data-mfp-src属性中。这样的事情:

var popupImages = $('div.withPopups img'); 
popupImages.each(function(){ 
    $(this).attr('data-mfp-src', $(this).attr('src')); 
}); 
popupImages.magnificPopup({type: 'image'}); 
6

我其实没有工作,我发现如何去做。 现在,单击图片时的脚本会增加并创建它们的图库。

<script type="text/javascript"> 
    $(document).ready(function() { 
       $('#text').magnificPopup({ 
        delegate: 'img', 
        type: 'image', 
        gallery: { 
         enabled: true 
        }, 
        callbacks: { 
         elementParse: function(qw) { 
          qw.src = qw.el.attr('src'); 
         } 
        } 


       }); 
      }); 
</script> 
+0

感谢它帮助我 –

+0

谢谢!该回调解决了我的问题:) –

1

随着magnificPopup 1.1.0

现在你有,如果你想要的工作做这样的。

$(document).ready(function() { 
     $('.myClass').magnificPopup({ 
      type: 'image', 
      callbacks: { 
       elementParse: function(item) { 
        item.src = item.el.attr('src'); 
       } 
      } 
     }); 
    }); 
相关问题