0
我試圖通過設置一個cookie來使showHide持久性跨頁加載。我的問題是我有超過一個div來說明。如何才能做到這一點?我試過使用或者操作符,即:multiple 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):
非常感謝您的幫助。
我覺得它靠近了。我設置了<div class="Div1">
,但我仍然無法讓每個div獨立打開(或淡入)。你認爲這可能與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」應用於「」,它會影響嗎?我問,因爲最初的點擊揭示了頁面上的每個Div1。我一次只需要一個。再次感謝。 –