我正在开发一个javascript函数,它打开一个jquery模式窗口并进行ajax调用以填充模态。我已经包含了' left'并且'对' div ids-单击一个会更改模态窗口的内容(滚动照片幻灯片)。
一切都很好,除了一件事:如果我打开模态然后关闭它,第二次打开它会导致这些'左/右'和#39;按钮将每次点击计为两次(单击'右键'一次,但移动两张图像)。如果我关闭窗口并再次重新打开,则计数再次增加1(单击3次更改)。
修复此问题的唯一解决方法是在模态窗口关闭时重新加载页面 - 但是有人知道更好的解决方案吗?基本上,我想重置'模态窗口,但不想破坏它 - 我希望能够多次打开/关闭模态并让这些右/左按钮工作。
我用来创建这些按钮的功能部分如下:感谢任何建议/想法。
function getNextImage(direction) {
if(direction == 1) {
if(imageNumber == 1) {
imageNumber = lastImage;
} else {
--imageNumber;
}
}
if(direction == 2) {
if(imageNumber == lastImage) {
imageNumber = 1;
} else {
++imageNumber;
}
}
if(direction == 0) {
imageNumber = 1;
}
$.ajax({
type: "GET",
url: "phpIncludes/next_fetch.php",
cache: false,
data: {img : imageNumber, cap : imageNumber, width : dWidth, height : dHeight, a : album},
success: function(htmlpic) {
$("#left"+album).html(htmlpic);
}
});
}
$("#moveLeft"+album).click(function() {
getNextImage(1);
console.log("Image Number is: " + imageNumber);
});
$("#moveRight"+album).click(function() {
getNextImage(2)
console.log("Image Number is: " + imageNumber);
});
答案 0 :(得分:0)
在这部分::
$。AJAX({ 类型:“GET”, url:“phpIncludes / next_fetch.php”, cache:false, data:{img:imageNumber,cap:imageNumber,width:dWidth,height:dHeight,a:album}, 成功:函数(htmlpic){ $( “#左” +专辑)的.html(htmlpic); } });
在你将htmlpic添加到#left之前,proib首先把这个内容清空#left并验证它是否完成!!