2015-04-14 63 views
1

我有一個燈箱插件(fancyboy),我正在我的網站上運行。 對於幾乎所有的圖像,這個庫是作爲例外工作。帶有新創建元素的燈箱

但是,在我的代碼片段(來自第三方庫),它創建圖像畫廊(adgallery) - 從TER拍攝(TYPO3的庫)

var context = this; 
    var image = this.images[index]; 
    var img_container = $(document.createElement('div')).addClass('ad-image'); 
    var img = $(new Image()).attr('src', image.image); 
    if(image.link) { 
     var link = $('<a href="'+ image.link +'" class="lightbox"></a>'); 
     link.append(img); 
     img_container.append(link); 

    } else { 
     img_container.append(img); 
    } 

正如你所看到的,我已經添加了「類=」收藏夾」屬性鏈接的DOM看起來不錯:。

<a href="/uploads/tx_adgallery/apfel-prasi43.jpg" class="lightbox"> 
    <img src="/typo3temp/_processed_/csm_apfel-prasi43_d89a571bb8.jpg" width="400" height="300"> 
</a> 

但是,不會觸發燈箱事件相反,它只是打開在同一選項卡中的鏈接。

<script type="text/javascript"> 
    $(document).ready(function() 
     { 
      $('.ad-gallery').adGallery({ 
       width:'###WIDTH###', 
       height:'###HEIGHT###', 
       effect:'####', 
       slideshow:{ 
        enable:true, 
        autostart:true, 
        speed:3000, 
        start_label:'Lecture', 
        stop_label:'Pause' 
       } 
      }); 
    }); 
</script> 

同上,HTML-Dom是正確的。我已經試過使用$(window).load(),但這並沒有辦法。

但是,當我將lightbox類添加到縮略圖時,它正在工作。 我錯過了什麼嗎?

謝謝

+0

你能爲示例添加鏈接嗎?有時會發生,錯誤在別的地方。 – reporter

+0

@reporter我在說明中添加了一個鏈接 – DasSaffe

回答

2

問題隱藏的動態內容(大圖像重新呈現在每一個變化,所以所有的事件都錯過)。 你可以試試這招:

$('.ad-gallery').on('mousedown touchstart', '.ad-image a', function(){ 
    $(this).fancybox(); 
}); 

這將激活/每mousedowntouchstart,只是用戶點擊之前發生重新激活的fancybox功能。

+0

先生,你讓我的一天!非常感謝你 – DasSaffe