У меня небольшая проблема с функциями Javascript.
Это может быть немного в моем коде, но я не уверен, что кто-то в Stackoverflow знает, кто это знает!
Хорошо, сначала у меня есть сеанс PHP, который я использую для сохранения идентификаторов моего изображения
Тогда у меня есть страница, которая показывает 5 изображений одновременно с функцией JQuery Click, чтобы просмотреть мои изображения
Функции, которые я использую:
$(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 состояло в том, чтобы удостовериться, что идентификатор обновлен.
Код работает, но есть ловушка.
Если я нажму на стрелки, чтобы ускорить мою сессию, img id будет испорчен.
Например, я установил для img id значение 10.
img_set_1("img1_hover","1","next","cie_name");
возвращает правильный идентификатор img в поле, которое равно 10 + 1, используйте его в div img1_hover
и у меня есть 5 таких дел. поэтому каждый раз, когда я вижу 5 imgs, я увеличиваю id сеанса img на 5, чтобы я мог видеть 5 следующих imgs.
Поскольку я выполнил условие, чтобы убедиться, что мой прирост идентификатора сеанса возвращает значение true, я ожидал, что идентификаторы img будут одинаковыми. Но нет!
если я нажму на стрелки, чтобы быстро идентифицировать сессию на странице
У кого-нибудь есть идеи?
Функция сеанса 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;
}
Теперь идентификатор сессии установлен. if 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;
}
Эта функция возвращает мне идентификатор сессии + позицию img. Я вызываю 5 функций, чтобы изменить мои 5 изображений.