Страница 1 из 11
Модератор форума: JonMagon 
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » Скрытие блока и запоминание действия на куки
Скрытие блока и запоминание действия на куки
BeRRy4655
Сообщений: 70
Репутация: 40

Сообщение # 1 | 00:37:17
Подскажите, как привязать к скрипту куки?
$Tiny$
Сообщений: 193
Репутация: 61

Сообщение # 2 | 12:12:31
BeRRy4655
Сообщений: 70
Репутация: 40

Сообщение # 3 | 12:13:02
Был на этом сайте, с куками кое как, но разобрался, мне не понятно, как это все взаимодействует со скриптом

Сообщение отредактировал BeRRy4655 - Среда, 25 Фев 2015, 12:14:14
$Tiny$
Сообщений: 193
Репутация: 61

Сообщение # 4 | 14:57:51
Как сделаете, так и будет взаимодействовать. В случае, например:
Цитата BeRRy4655 ()
Скрытие блока
При скрытии блока скриптом можно записывать в cookie значение 0, а при показе - 1. При загрузке страницы скриптом брать оттуда это значение, и если оно 0 - скрывать блок, а если 1 - показывать.
BeRRy4655
Сообщений: 70
Репутация: 40

Сообщение # 5 | 17:37:52
На примере можете объяснить?

WasaBeS
Сообщений: 70
Репутация: 40

Сообщение # 6 | 15:29:45
Вот допустим куки

Код
function setCookie(name, value, days) {
    if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') c = c.substring(1, c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}
function eraseCookie(name) {
    setCookie(name, "", -1);
};


Допустим скрипт

Код
$(document).ready(function()
{
$(window).scroll(function()
{
$('#block').animate({top:$(window).scrollTop()+"px" },{queue: false};);    
};);
$('#close_block').click(function()
{
$('#block').animate({ top:"-=40px",opacity:0 }, "slow");
};);
};);


Как их вместе то связать, чтобы блок закрывался с запоминанием на куки?

Сообщение отредактировал WasaBeS - Четверг, 05 Мар 2015, 15:30:56
$Tiny$
Сообщений: 193
Репутация: 61

Сообщение # 7 | 15:27:37
Код
function setCookie(name, value, days) {
     if (days) {
     var date = new Date();
     date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
     var expires = "; expires=" + date.toGMTString();
     }
     else var expires = "";
     document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(name) {
     var nameEQ = name + "=";
     var ca = document.cookie.split(';');
     for (var i = 0; i < ca.length; i++) {
     var c = ca[i];
     while (c.charAt(0) == ' ') c = c.substring(1, c.length);
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
     }
     return null;
}
function eraseCookie(name) {
     setCookie(name, "", -1);
};

$(document).ready(function() {
$(window).scroll(function() {
$('#block').animate({top:$(window).scrollTop()+"px" },{queue: false});     
});
$('#close_block').click(function() {
$('#block').animate({ top:"-=40px",opacity:0 }, "slow");
setCookie('blockhiden', 1, 30);
});
if (getCookie('blockhiden')) {
if (getCookie('blockhiden') == 1) {
$('#block').animate({ top:"-=40px",opacity:0 }, "slow");
}
}
});

setCookie('blockhiden', 1, 30); - запоминается cookie с именем blockhiden и значением 1 на 30 дней.
WasaBeS
Сообщений: 70
Репутация: 40

Сообщение # 8 | 19:46:44
$Tiny$,
Цитата $;;;Tiny$;1247963
значением 1 на 30 дней.

Не на 30 дней, а навсегда возможно изменить? И вообще, что это значит?

Да, кстати, с адресами страниц такое возможно будет проделать, т.е. если пользователь скажем вышел со страницы контактов, то при входи на сайт повторно он туда же и попадет?

Сообщение отредактировал WasaBeS - Пятница, 06 Мар 2015, 21:16:18
$Tiny$
Сообщений: 193
Репутация: 61

Сообщение # 9 | 09:55:23
Цитата WasaBeS ()
Не на 30 дней, а навсегда возможно изменить? И вообще, что это значит?
Вы точно читали, что по ссылке написано? Есть определенная дата для каждого cookie, через который он удален браузером будет. Вот мы и говорим ему, что через 30 дней неактуальны наши будут и он сможет их удалить. Зачем вам "навсегда"? Через несколько лет у пользователя даже система-то стоять не будет та же, не то, что браузер. Да и забудет пользователь, что побывал на сайте вашем.

Цитата WasaBeS ()
Да, кстати, с адресами страниц такое возможно будет проделать, т.е. если пользователь скажем вышел со страницы контактов, то при входи на сайт повторно он туда же и попадет?
Лично у меня нет идеи как отличить переход на другую страницу от просто захода на нее.
Сообщение отредактировал $Tiny$ - Суббота, 07 Мар 2015, 09:59:51
WasaBeS
Сообщений: 70
Репутация: 40

Сообщение # 10 | 23:28:29
$Tiny$, ясно. Спасибо за помощь, очень помогли с куками.

Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » Скрытие блока и запоминание действия на куки
Страница 1 из 11
Поиск: