我正在使用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代码。
答案 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()
}
});