Страница 1 из 2

Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 14:27
mittus
Есть функция, которая скрывает или раскрывает меню. В исходном варианте выглядит так:
Код: выделить все
$(document).ready(
function(){
   $(".hide").click(function(){
if ($(".left_bar").is(":visible")) {
$(".left_bar").hide("fast");
}else{
$(".left_bar").show("fast");
}});});

Вот результат моих манипуляций с кукисами, это максимально рабочий вариант:

Код: выделить все
    $(document).ready(function(){$(".hide").click(function(){
          if ($(".left_bar").is(":visible")) {
             $(".left_bar").hide("fast");
             $(this).removeClass("opend");
             $(this).addClass("hidden");
             $.cookie('noLeft', '1');
             return false;
          }else{
          $(".left_bar").show("fast");
          $(this).removeClass("hidden");
          $(this).addClass('opend');
          $.cookie('noLeft', '0');
          return false;
          };
       });
      var noLeft = $.cookie('noLeft');
          if (noLeft == '1') {
             $(".left_bar").hide();
             $(".hide").addClass("hidden");
          }
    });


Проблема такова: Кукисы запоминают положение меню и при переходе на другую страничку оно сохраняется, но если его снова развернуть, то вернувшись обратно я наблюдаю свернутое меню.
Подскажите пожалуйста, где мной допущена ошибка?

upd: отредактировал свой пример, до этого не тот вариант нечайно вставил.

Re: Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 14:33
Gennady
Если сходу.... Пробовали удалять куки не так:
Код: выделить все
$.cookie('dell', '0');

а так:
Код: выделить все
$.cookie('dell', '');

т.е. именно удалять, а не изменять значение?

Re: Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 14:41
Nekromancer
var inbody=$('.inbody');


это что вообще, и на что оно проверяет?а то там куки меняются только если с этим классом другой класс %)

Re: Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 14:44
mittus
Только что попробовал сделать вот так:
Код: выделить все
$(document).ready(function(){$(".hide").click(function(){
      if ($(".left_bar").is(":visible")) {
         $(".left_bar").hide("fast");
         $(this).removeClass("opend");
         $(this).addClass("hidden");
         $.cookie('noLeft', '1');
         return false;
      }else{
      $(".left_bar").show("fast");
      $(this).removeClass("hidden");
      $(this).addClass('opend');
      $.cookie('noLeft', null);
      return false;
      };
   });
  var noLeft = $.cookie('noLeft');
      if (noLeft == '1') {
         $(".left_bar").hide();
         $(".hide").addClass("hidden");
      }
});

Проблема та же. При смене положения менюшки вернувшись на посещенную страничку возвращается прежнее ее положение..

Re: Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 14:46
mittus
Nekromancer писал(а):
var inbody=$('.inbody');


это что вообще, и на что оно проверяет?а то там куки меняются только если с этим классом другой класс %)

У меня есть один рабочий пример, там всё дико запутано, это мои попытки подсмотреть =))) Постом выше я привел более нормальный вариант.. Уже всю ночь пытаюсь сделать, не получается ))

Re: Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 16:22
Gennady
mittus, будет лучше, если Вы дадите ссылку (по возможности) на этот пример. Просто кроме JS, неплохо видеть и html-разметку. Это сильно упростит задачу тому, кто возьмется Вам помочь.

Re: Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 16:27
mittus
http://legend.zxs.ru/location/

Здесь будет удобнее всего проверять навигацию, кликать можно по локациям внутри карты. ))

Re: Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 16:47
Nekromancer
mittus писал(а):http://legend.zxs.ru/location/

Здесь будет удобнее всего проверять навигацию, кликать можно по локациям внутри карты. ))


ну во первых у вас старая версия библиотеки - * jQuery 1.2.6 - New Wave Javascript
во вторых у вас куки сохраняются для каждой страницы отдельно.. то есть для http://legend.zxs.ru/location/1/ одни, а для http://legend.zxs.ru/location/13/ другие..

Решение: каждой куки в третьем параметре передавать вот такой код: {domain: 'site.com', path: '/'} // site.com ваш домен :)
Код: выделить все
$.cookie('noLeft', '1', {domain: 'legend.zxs.ru', path: '/'})

Re: Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 17:04
mittus
Nekromancer, Спасибище вам!!! Всё теперь как надо работает :)

Re: Помогите настроить кукисы

СообщениеДобавлено: 01 фев 2010, 17:10
Nekromancer
mittus писал(а):Nekromancer, Спасибище вам!!! Всё теперь как надо работает :)


Кстати ещё одно.. У вас принципиально "history" не сохраняется? Потому, что на пред идущую страницу вернуться невозможно..