试图在jquery中使用.live()的pirobox

时间:2010-10-13 03:56:11

标签: jquery

我正在使用pirobox作为我正在构建的图像选择器工具的图像预览。此时,您可以预览图像(pirobox)并选择新图像以替换现有图像。

当您单击以选择新图像时,会出现一个列表,其中包含所有可用的不同图像(来自数据库,因此使用$ .post()进行检索)。选择新图像后,它会更新数据库(再次使用$ .post()操作)并重新检索更新预览图像的缩略图(pirobox)。

我认为正在发生的事情是,因为我正在更新图像信息,所以从图像中解除pirobox动作的解除绑定(这是正确的术语吗?)因此没有正确调用pirobox脚本。

至少可以说我的jquery / javascript知识有点不完整,所以我不知道如何解决这个问题!任何帮助,将不胜感激!!

提前致谢!

- 编辑以包含所需的代码 -

原始图片电话:

<div class="full-width">
    <a href="../media_file_destination/file1-medium.jpg" class="pirobox" title="Concept Car"><img src="../media_file_destination/th_file1-medium.jpg"  class="thumb" /></a> 
    <button type="button" class="img_list float-right" iid="panel_image" pid="1" >Change</button>
</div>

脚本启动pirobox:

$().piroBox({
        my_speed: 400, //animation speed
        bg_alpha: 0.3, //background opacity
        slideShow : true, // true == slideshow on, false == slideshow off
        slideSpeed : 4, //slideshow duration in seconds(3 to 6 Recommended)
        close_all : '.piro_close,.piro_overlay'// add class .piro_overlay(with comma)if you want overlay click close piroBox

});

我根本没有修改过pirobox代码。

1 个答案:

答案 0 :(得分:1)

Pirobox(1.2.2)在关闭后会在DOM中自动生成DIV,因此您只需要在发出请求之前从DOM中删除所有pirobox DIV并在成功请求后重新初始化pirobox。

$(".piro_overlay").remove();
$(".pirobox_content").remove();
$("#imgCache").remove();
$.ajax({
   ... your request here ...
   success: function(data) {
      ... handling data here ...
      $().piroBox() 
   }
});