2014-04-09 71 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'); 
       } 
      } 
     }); 
    }); 
相關問題