jquery cookie, значение параметра cookie каждого посещения?

57
5

Я ищу, чтобы у меня было 3 разных divs. 1 div на 1-й визит. 2-й дивизион на 2-й визит 3-го дивизиона на 3-й визит

Я думал, что у меня есть код, чтобы это произошло, но оно не работает, и мне трудно понять, что я делаю неправильно.

$(document).ready(function() { 

var cookieRCCS = $.cookie('shownDialog');

console.log(cookieRCCS);

// Check if the cookie exists.
if ( cookieRCCS === null ) {
console.log("1st if statement " + cookieRCCS);
$("#hellopanel1").show();

// set the cookie to value 1
$.cookie('shownDialog', '1', {expires: 7});

}
else if ( cookieRCCS === 1 ) {
console.log("2nd if statement " + cookieRCCS);
$("#hellopanel2").show();

// If the cookie exists, take the value
cookie_value = $.cookie('shownDialog');

// Convert the value to an int to make sure
cookie_value = parseInt(cookie_value);

// Add 1 to the cookie_value
cookie_value++;

// Save the incremented value to the cookie
$.cookie('shownDialog', cookie_value, {expires: 7});

}
else if ( cookieRCCS === 2){
console.log("3rd if statement " + cookieRCCS);

$("#hellopanel3").show();

cookie_value = $.cookie('shownDialog');

cookie_value = parseInt(cookie_value);

cookie_value++;

$.cookie('shownDialog', cookie_value, {expires: 7});
}

else{
console.log("4th Time Here");
}

});

спросил(а) 2012-12-06T01:25:00+04:00 7 лет, 9 месяцев назад
1
Решение
57

Это позволит решить вашу проблему с помощью простого и элегантного оператора case для правильного запуска фрагментов кода каскадным способом:

$(document).ready(function() { 
var cookieRCCS = (+$.cookie('shownDialog')) + 1;
$.cookie('shownDialog', cookieRCCS,{expires: 7});

console.log(cookieRCCS);

switch (cookieRCCS) {
case 1:
console.log("1st if statement " + cookieRCCS);
$("#hellopanel1").show();
break;

case 2:
console.log("2nd if statement " + cookieRCCS);
$("#hellopanel2").show();
break;

case 3:
console.log("3rd if statement " + cookieRCCS);
$("#hellopanel3").show();
break;

default:
console.log("4th+ Time Here");
}
});

ответил(а) 2012-12-06T01:33:00+04:00 7 лет, 9 месяцев назад
41

Поскольку вы пишете строку в файл cookie, но проверяете тип с помощью ===. Просто измените ваше сравнение с == или сделайте var cookieRCCS = +$.cookie('shownDialog'); который преобразует его в число (это означает, что вам нужно проверить, не является ли cookieRCCS == 0 вместо null

ответил(а) 2012-12-06T01:32:00+04:00 7 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема