2012-05-30 45 views
0

我有一個從Picasa相冊加載圖像的jquery插件。但是當試圖添加燈箱時,它不起作用。我已經閱讀了一些我們可以在jquery中使用.delegat或.live或.on的地方,當dom加載後加載內容時。但是我很困惑。燈箱上從圖片加載jQuery的圖像

這是在正常情況下的實際代碼:

jQuery("#ts-display-portfolio a").prettyPhoto({ 
    animationSpeed:'slow', 
    theme:'facebook', 
    slideshow:2000 
}); 

這是我試圖做的,我相信它的錯誤:

$(document).delegate(
    "#ts-display-portfolio a", 
    "prettyPhoto", 
    function(){ 
     animationSpeed:'slow', 
     theme:'facebook', 
     slideshow:2000; 
}); 

這是HTML是如何

<a href="img/IMG_3884_large.JPG" > 
<img src="img/IMG_3884.JPG"> 
</a> 
+0

由插件生成的HTML?一個典型的燈箱插件使用點擊事件,並在精美的疊加層中顯示圖像,而不是跟隨鏈接。是這樣嗎?順便說一下:1).delegate()已被.on()方法取代2).live()方法已被棄用。使用.on()附加事件處理程序。 – Robert

+0

是的,html是在文檔加載後生成的。如果我用.on替換.delegate,我寫的代碼是否正確? – esafwan

回答

1

首先,你提供的代碼不是很清楚。什麼是什麼?

但是,如果我理解正確,問題是Picasa插件生成的HTML在lightBox插件實例化之前還沒有準備好。

從燈箱網站代碼:

$(function() { 
$('#gallery a').lightBox({fixedNavigation:true}); 
}); 

所以,你需要做兩件事情:

1)確保含有照片的元素有正確的標識(類或ID)。在這種情況下,ID「畫廊」 2)將這個代碼後加載完成(通過Picasa腳本)

$('#gallery a').lightBox({fixedNavigation:true});