我的Javascript函数存在问题。
我的代码可能也很深入,但我确信Stackoverflow上有人知道这个awnser!
好的,首先我有一个用于保存图片ID的PHP会话
然后我有一个页面,一次显示5个图像,使用JQuery Click fonction浏览我的图像
我使用的功能:
$(document).ready(function() { <---- i click the arrow
$("#imgnext").click(
function(){
if(session_set("session_next")== true){ <-------- calling session_set()
img_set_1("img1_hover","1","next","cie_name"); <--------Calling img_set_1()
img_set_2("img2_hover","2","next","cie_name"); <------same for all 5 imgs
img_set_3("img3_hover","3","next","cie_name");
img_set_4("img4_hover","4","next","cie_name");
img_set_5("img5_hover","5","next","cie_name");
}
}
);
$("#imgprev").click(
function(){
if(session_set("session_previous")== true){
img_set_1("img1_hover","1","prev","cie_name");
img_set_2("img2_hover","2","prev","cie_name");
img_set_3("img3_hover","3","prev","cie_name");
img_set_4("img4_hover","4","prev","cie_name");
img_set_5("img5_hover","5","prev","cie_name");
}
}
);
});
if条件是确保id已更新。
代码有效,但有一个问题。
如果我点击箭头来快速我的会话img id搞砸了。
例如,我将img id设置为10。
img_set_1("img1_hover","1","next","cie_name");
返回正确的img id在10 + 1 cuse的img in div img1_hover
我有5个这样的div。所以每当我看到5个imgs时,我将会话img id增加5,这样我就能看到5个下一个imgs。
因为我做了一个条件,看看我的会话id增量是否返回true,我期待img id是完全相同的。但不!
如果我单击我的箭头来快速会话ID在页面上搞砸了
有人有想法吗?
会话set()函数
function session_set(action) {
var xhr1 = getXMLHttpRequest();
xhr1.onreadystatechange = function() {
if (xhr1.readyState == 4 && (xhr1.status == 200 || xhr1.status == 0)) {
document.getElementById(box).innerHTML=xhr1.responseText;
}
};
var sVar7 = encodeURIComponent(action);
xhr1.open("GET", "ajax.php?variable7=" + sVar7, true);
xhr1.send(null);
return true;
}
现在设置会话img id。如果action ='session_next'i,则增加5,否则增加前一个减去5。
img set x()函数:
function img_set_1(box_1,sessionid,action,cie) {
var xhr1 = getXMLHttpRequest();
xhr1.onreadystatechange = function() {
if (xhr1.readyState == 4 && (xhr1.status == 200 || xhr1.status == 0)) {
document.getElementById(box_1).innerHTML=xhr1.responseText;
}
};
var sVar1 = box_1;
var sVar6 = sessionid;
var sVar7 = encodeURIComponent(action);
var sVar8 = encodeURIComponent(cie);
xhr1.open("GET", "ajax.php?variable1=" + sVar1 + "&variable6=" + sVar6 + "&variable7=" + sVar7 + "&variable8=" + sVar8, true);
xhr1.send(null);
return true;
}
此函数返回会话ID + img位置。即时通讯调用5个功能来改变我的5个图像。
答案 0 :(得分:0)
总体思路:
答案 1 :(得分:0)
我明白了!!!!
我随时都在调用所有功能。现在我在更改会话ID时调用函数
而不是调用set_session()然后调用我的另外5个函数。
我调用了set_session()并在其中移动了5 img函数并在readystate上调用它们。
接缝工作。