Я пытаюсь сделать showHide упорным на загрузку страницы, установив файл cookie. Моя проблема в том, что у меня есть более одного div для учетной записи. Как это может быть сделано? Я попытался использовать оператор или, т. Е .:несколько divs + javascript + cookie
var closed = $(".Div1").is(":hidden") || $(".Div2").is(":hidden");
if (closed)
$(".Div1").show() || $(".Div2").show();
else
$(".Div1").hide(); || $(".Div2").hide();
...etc...
... но не повезло. Вот как я работал с одним div (Div1):
$(window).load(function() {
$(".showHide").on("click", function() {
var closed = $(".Div1").is(":hidden");
if (closed)
$(".Div1").show();
else
$(".Div1").hide();
setCookie("open", closed, 365);
});
var openToggle = getCookie("open");
if (openToggle=="true") {
$(".Div1").show();
}
else {
$(".Div1").hide();
}
});
function setCookie(c_name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}
function getCookie(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
Большое спасибо за помощь.
Я думаю, что он приближается. Я установил <div class="Div1">
, но я все равно не могу получить каждый div для открытия (или fadeIn) самостоятельно. Считаете ли вы, что это может иметь какое-то отношение к var openToggle
? Спасибо. :-)
ОБНОВЛЕНО КОД ~ 2:45 вечера GMT
$(window).load(function() {
$(".showHide").on("click", function() {
$("div[class='Div1']").each(function(i,op) {
$("div[class='Div1']").fadeOut(1);
$("div[class='Div1']").eq($(this).index()).fadeIn(1000);
setCookie("open_" + i, closed, 365);
});
});
$("div[class='Div1']").each(function(i,op)
{
var openToggle = getCookie("open_" + i);
if (openToggle=="true") {
$(this).show();
}
else {
$(this).hide();
}
});
function setCookie(c_name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}
function getCookie(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
});
Хм, по-прежнему не повезло. Спасибо за ответ. –
oops. забыл поставить символ подчеркивания для getCookie. Исправлен код. – DinoMyte
Имеет ли значение, если class = "Div1" применяется к '
Смежные вопросы