JQuery и Cookie
Всем доброго времени суток!
Не могу разобраться с JQuerty и cookie. Буду признателен за помощь.
<script>
jQuery(function() {
$("#hideshow").toggle(function() {
$(".second_inner").animate({"width": 700}, "fast");
}, function() {
$(".second_inner").animate({"width": 500}, "fast");
});
});
</script>
Суть: 0. Есть блок шириной = 500px; 1. Кликаем на кнопку 1 раз; // $("#hideshow").toggle(function() { 2. Ширина блока меняется с 500px до 700px; // $(".second_inner").animate({"width": 700}, "fast"); 3. Обновляем страницу; 4. Ширина блока теперь = 700px. Т.е. проще говоря необходимо чтобы при перезагрузке страницы запоминалась установленная ширина блока (в зависимости от того, что накликали). Добавьте пожалуйста сюда cookie. Заранее благодарен за помощь. |
Думаю вот это тебе должно помочь
http://plugins.jquery.com/project/cookie http://www.linkexchanger.su/2008/42.html |
а что это за блок? Может можно сделать, чтобы у пользователя сразу была адекватная ширина?
|
Проблемка с JQuery
Цитата:
|
что непонятно из статьи?
|
Не работает пример
Цитата:
Вот ссылка http://banki72.ru/banks/. Для кнопок скрыть / отобразить не работают cookie.
<script>
jQuery(function() {
$.cookie("mycookie"); // получаем куки
$("#hide_show_left").toggle(function() {
$("#hide_show_left").text(' отобразить');
$("#hide_show_left_img").attr({src:"/images/right.gif"});
$(".first").hide("fast");
$(".second_inner").animate({"width": 702}, "slow");
$.cookie("mycookie", $(".second_inner").css('display', 'none')); // устанавливаем куки
}, function() {
$("#hide_show_left").text(' скрыть');
$("#hide_show_left_img").attr({src:"/images/left.gif"});
$(".second_inner").animate({"width": 519}, "fast");
$(".first").show("slow");
$.cookie("mycookie", null); // удаляем куки
});
});
</script>
|
а теперь пишем
$(".second_inner").animate({"width": 702}, "slow");
console.log($(".second_inner").css('display', 'none'));
$.cookie("mycookie", $(".second_inner").css('display', 'none')); // устанавливаем куки
}, function() {
и смотрим в консоль firebug'а что ты в куки записать хочешь? |
Разбор примера
Нашёл ошибку, неверно был указан класс:
//вместо
$.cookie("mycookie", $(".[B]second_inner[/B]").css('display', 'none'));
//должно быть
$.cookie("mycookie", $(".[B]first[/B]").css('display', 'none'));
// т.е. код должен выглядеть вот так:
jQuery(function() {
$.cookie("mycookie"); // получаем куки
$("#hide_show_left").toggle(function() {
$("#hide_show_left").text(' отобразить');
$("#hide_show_left_img").attr({src:"/images/right.gif"});
$(".first").hide("fast");
$(".second_inner").animate({"width": 702}, "slow");
$.cookie("mycookie", $(".[B]first[/B]").css('display', 'none')); // устанавливаем куки
}, function() {
$("#hide_show_left").text(' скрыть');
$("#hide_show_left_img").attr({src:"/images/left.gif"});
$(".second_inner").animate({"width": 519}, "fast");
$(".first").show("slow");
$.cookie("mycookie", null); // удаляем куки
});
});
Но к сожалению, всё равно не работает.
//а теперь пишем
$(".second_inner").animate({"width": 702}, "slow");
[B]console.log($(".[B]first[/B]").css('display', 'none'));[/B]
$.cookie("mycookie", $(".[B]first[/B]").css('display', 'none')); // устанавливаем куки
}, function() {
Под рукой firebug к сожалению нет, вечером попробую. Цитата:
|
Какое-то размытое сообщение получилось выше. Попробую исправится.
Исходный код:
jQuery(function() {
$.cookie("mycookie"); // Получаем куки
$("#hide_show_left").toggle(function() {
$("#hide_show_left").text(' отобразить');
$("#hide_show_left_img").attr({src:"/images/right.gif"});
$(".first").hide("fast");
$(".second_inner").animate({"width": 702}, "slow");
$.cookie("mycookie", $(".first").css('display', 'none')); // Устанавливаем куки
}, function() {
$("#hide_show_left").text(' скрыть');
$("#hide_show_left_img").attr({src:"/images/left.gif"});
$(".second_inner").animate({"width": 519}, "fast");
$(".first").show("slow");
$.cookie("mycookie", null); // Удаляем куки
});
});
Не получается с помощью cookie зафиксировать:
|
Вот что в отразилось в консоли:
Код:
Object length=1 0=div.colum prevObject=Object jquery=1.2.3 |
| Часовой пояс GMT +3, время: 17:23. |