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 |
Цитата:
в куках храняться строки. Да и незачем там объекты хранить, если тебе не все их содержимое нужно |
Цитата:
Цитата:
Цитата:
|
$.cookie("mycookie", 'строка'); alert($.cookie("mycookie")); var o = {a: 2, b: 'asd'}; $.cookie("mycookie", o); alert($.cookie("mycookie")); $.cookie("mycookie", o.a); alert($.cookie("mycookie")); |
Цитата:
|
в каком это браузере у тебя такие результаты и какая версия jQuery, jquery.cookie.js?
|
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 12:28. |