0

我正在使用 .appened 将一些 HTML 添加到标记中的 div 中,当漂亮照片灯箱克隆打开时正在输出的标记中。

我试图弄清楚如何只将附加的 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 );
});

我显然不明白我在这里做什么,所以任何帮助将不胜感激。

4

1 回答 1

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");
于 2012-08-26T15:24:34.443 回答