2012-08-23 58 views
0

我正在使用.appened將一些HTML添加到標記中,當prettyphoto燈箱克隆打開時正在輸出的div。.bind/.unbind事件初始prettyphoto.open功能運行後

我想弄清楚如何只加載附加的HTML到燈箱一次,而不是每次使用後退/下一個按鈕查看庫中的新圖像。

從我發現這將通過使用.bind/.unbind完成,但寫入此功能似乎並不奏效。

我用prettyphoto open函數

$.prettyPhoto.open=function(event){ 

$(".pbdog-gAd").append('<p style="text-align: center;"><a href="' + prettyLink + '" target="_blank"><img src="' + prettyAd + '" width="468" height="60" alt="" /></a></p>'); 

導致所需的輸出裏面以下,甚至處理...

我的問題是,每次下一個/點擊之前的按鈕,它會再次運行腳本,並在當前的腳本之下添加一個額外的廣告圖片,如下所示。它一直這樣做,直到prettyphoto最終崩潰

從我能理解我需要編寫,將各下一首/上按鈕被點擊時調用此事件的第一次,但不是一個函數

我都試過,沒有運氣

$(".pbdog-gAd").bind("click", function(event) { 
$(".pbdog-gAd").append('<p style="text-align: center;"><a href="' + prettyLink + '" target="_blank"><img src="' + prettyAd + '" width="468" height="60" alt="" /></a></p>'); 
$(this).unbind(event); 
}); 

上述執行以下操作似乎讓prettyphoto忽略這個功能都在一起。做下面似乎打破prettyphoto

$.prettyPhoto.bind("click", function(event) { 
$(".pbdog-gAd").append('<p style="text-align: center;"><a href="' + prettyLink + '" target="_blank"><img src="' + prettyAd + '" width="468" height="60" alt="" /></a></p>'); 
$(this).unbind(event); 
}); 

我顯然不明白我在這裏做什麼,所以任何幫助將不勝感激。

回答

0

我發現這個解決方案只是在.append運行後使用.removeClass。這會停止第二次加載圖像,並且還會刪除該類,因此如果在.append過程中沒有加載任何值,則不會對該空間應用格式。

$(".pbdog-gAd").append('<p style="text-align: center;"><a href="' + JprettyLink + '" target="_blank"><img src="' + JprettyAd + '" width="468" height="60" alt="" /></a></p>'); 
$(".pbdog-gAd").removeClass("pbdog-gAd");