JS нажатие на кнопку и запись в куки

Станислав
На сайте с 27.12.2009
Offline
254
4583

Подскажите как реализовать и возможно ли это

есть кнопочка, при нажатии на которую скрывается блок

<span id="close">скрыть</span>

и js код

<script type="text/javascript">
$('#close').live('click', function(){
$.ajax({
success: function(data) {
$('.category ul').hide(600, function() {
$('#info_close').text('открыть');
});
$('span#close').attr('id','open');
}});
});
$('#open').live('click', function(){
$.ajax({
success: function(data) {
$('.category ul').show(600, function() {
$('#info_close').text('');
});
$('span#open').attr('id','close');
}});
});
</script>

Нужно как то это дело сохранить чтобы блок не раскрывался после перезагрузки страницы. Думаю что в куки надо запись делать, с ними ни разу не сталкивался, вобщем нужна помощь в реализации.

Мы там, где рады нас видеть.
uberchel
На сайте с 16.01.2010
Offline
70
#1

Начирикал, не тестировал только:


<span id="close">скрыть</span>
<script type="text/javascript">
(cookie = {
set: function (a, b, c) {
if (a) {
var date = new Date();
date.setTime(date.getTime() + (c * 24 * 60 * 60 * 1000));
document.cookie = a + '="' + escape(b) + '"; expires="' + (date.toGMTString()) + '"; path="/"';
}
else return null;
},
get: function (a) {
var name = a + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca;
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return null;
}
});

$('#close').live('click', function(){
$.ajax({
success: function(data) {
if(cookie.get('info_close') == null) {
$('.category ul').hide(600, function() {
$('#info_close').text('открыть');
});
$('span#close').attr('id','open');
cookie.set('info_close', 1, 365);
} else return null;
}});
});
$('#open').live('click', function(){
$.ajax({
success: function(data) {
if(cookie.get('info_close') != null) {
$('.category ul').show(600, function() {
$('#info_close').text('');
});
$('span#open').attr('id','close');
cookie.set('info_close', null, 0);
} else return null;
}});
});
$(document).ready(function () {
if(cookie.get('info_close') != null) {
$('.category ul').hide(600, function() {
$('#info_close').text('открыть');
});
}
});
</script>
Станислав
На сайте с 27.12.2009
Offline
254
#2

ого, сколько много букв )))

Вобщем код работает, но куки не удаляет по повторному нажатию на кнопку, т.е. если закрыл, уже не открыть.

uberchel
На сайте с 16.01.2010
Offline
70
#3
Ms-Dred:
ого, сколько много букв )))
Вобщем код работает, но куки не удаляет по повторному нажатию на кнопку, т.е. если закрыл, уже не открыть.

<span id="close">скрыть</span>

<script type="text/javascript">
(cookie = {
set: function (a, b, c) {
if (a) {
var date = new Date();
date.setTime(date.getTime() + (c * 24 * 60 * 60 * 1000));
document.cookie = a + '="' + escape(b) + '"; expires="' + (date.toGMTString()) + '"; path="/"';
}
else return null;
},
get: function (a) {
var name = a + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca;
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return null;
}
});

$('#close').live('click', function(){
$.ajax({
success: function(data) {
if(cookie.get('info_close') == null) {
$('.category ul').hide(600, function() {
$('#info_close').text('открыть');
});
$('span#close').attr('id','open');
cookie.set('info_close', 1, 365);
} else return null;
}});
});
$('#open').live('click', function(){
$.ajax({
success: function(data) {
if(cookie.get('info_close') != null) {
$('.category ul').show(600, function() {
$('#info_close').text('');
});
$('span#open').attr('id','close');
cookie.set('info_close', '', new Date(0));
} else return null;
}});
});
$(document).ready(function () {
if(cookie.get('info_close') != null) {
$('.category ul').hide(600, function() {
$('#info_close').text('открыть');
});
$('span#close').attr('id','open');
}
});
</script>
Станислав
На сайте с 27.12.2009
Offline
254
#4

отлично! Спасибо большое!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий