2015-09-13 202 views
0

我想讓它在有人點擊顯示在fancybox中的圖像時我想將product_url數據屬性傳遞給Fancybox以獲取類似下載鏈接的內容。將數據屬性傳遞給fancybox

我已經設置了一個fiddle here進行測試,但似乎無法得到它的工作。我將在頁面上使用fancybox創建多個圖像,每個圖像都有自己的data-product_url屬性。

<a rel="gallery" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin imperdiet augue et magna interdum hendrerit" class="fancybox" href="http://fancyapps.com/fancybox/demo/1_b.jpg" data-product_url="http://google.com"><img src="http://fancyapps.com/fancybox/demo/1_s.jpg" alt=""/></a> 

<a rel="gallery" title="Proin imperdiet augue et magna interdum hendrerit" class="fancybox" data-product_url="http://yahoo.com" href="http://fancyapps.com/fancybox/demo/2_b.jpg"><img src="http://fancyapps.com/fancybox/demo/2_s.jpg" alt=""/></a> 

$(".fancybox").fancybox({ 
    afterLoad: function() { 
     var url = $(this, '[data-product_url]'); 
     this.title = '<a href="' + url + '">Download</a> ' + this.title; 
    }, 
    helpers : { 
     title: { 
      type: 'inside' 
     } 
    } 
}); 

回答

1

的使用$(this.element).data("product_url")代替$(this, '[data-product_url]');得到這個元素的數據標籤,你會沒事的。

這是一個工作jsfiddle