Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ошибка в обработке cookie (https://javascript.ru/forum/misc/57409-oshibka-v-obrabotke-cookie.html)

valetu 02.08.2015 18:51

Ошибка в обработке cookie
 
Задача такова.
При нажатии кнопки скрывается правый сайдбар и меняется структура меню в нем, при повторном нажатии всё становиться на свои места в развернутом виде.
Суть проблемы такова что куки записываются но положение сайдбара не считывается из функций.
(function(j) {
  j.fn.extend({
    accordion: function() {
      return this.each(function() {
        function b(c, b) {
          $(c).parent(d).siblings().removeClass(e).children(f).slideUp(g);
          $(c).siblings(f)[b || h](b == "show" ? g : !1, function() {
            $(c).siblings(f).is(":visible") ? $(c).parents(d).not(a.parents()).addClass(e) : $(c).parent(d).removeClass(e);
            b == "show" && $(c).parents(d).not(a.parents()).addClass(e);
            $(c).parents().show()
          })
        }
        var a = $(this), e = "active", h = "slideToggle", f = "ul, div", g = "fast", d = "li";
        if (a.data("accordiated"))
          return !1;
        $.each(a.find("ul, li>div"),
          function() {
            $(this).data("accordiated", !0);
            $(this).hide()
          });
        $.each(a.find("a"), function() {
          $(this).click(function() {
            b(this, h)
          });
          $(this).bind("activate-node", function() {
            a.find(f).not($(this).parents()).not($(this).siblings()).slideUp(g);
            b(this, "slideDown")
          })
        });
        var i = location.hash ? a.find("a[href=" + location.hash + "]")[0]: a.find("li.current a")[0];
        i && b(i, !1)
      })
}
})
})(jQuery);

// Sidebar
// ===============================
$('ul.nav-list').accordion();
$('.site-holder.container .nav > li > ul > li.active').parent().css('display','block');    
$('.site-holder.container.mini-sidebar .nav > li > ul > li.active').parent().css('display','none');  
$('.btn-nav-toggle-responsive').click(function(){
  $('.left-sidebar').toggleClass('show-fullsidebar');  
});
$('li.nav-toggle > button').click(function(e){
        //Set cookie
        if($.cookie('minibar')==null||$.cookie('minibar')==0) $.cookie('minibar',1);
        else {
          $.cookie('minibar',0);
        }
        changeSidebarState();
      });
    //Load sidebar state
    $(function(){
      if($.cookie('minibar')==1) {
        changeSidebarStateNoAnimate();
      }
    });
    function changeSidebarState(){
      $('.hidden-minibar').toggleClass("hide");
      $('.site-holder').toggleClass("mini-sidebar");
      if($('.toggle-left').hasClass('fa-angle-double-left')){ $('.toggle-left').removeClass('fa-angle-double-left').addClass('fa-angle-double-right'); }
      else { $('.toggle-left').removeClass('fa-angle-double-right').addClass('fa-angle-double-left'); }
      if($('.site-holder').hasClass('mini-sidebar'))
      {    
        $('.sidebar-holder').tooltip({
          selector: "a",
          container: "body",
          placement: "right"
        });
        $('li.submenu ul').tooltip('destroy');
      }
      else
      {
        $('.sidebar-holder').tooltip('destroy');
      }
    }
    function changeSidebarStateNoAnimate(){
      $('.toggle-left').removeClass('fa-angle-double-left').addClass('fa-angle-double-right');
      if($('.site-holder').hasClass('mini-sidebar'))
      {    
        $('.sidebar-holder').tooltip({
          selector: "a",
          container: "body",
          placement: "right"
        });
        $('li.submenu ul').tooltip('destroy');
      }
      else
      {
        $('.sidebar-holder').tooltip('destroy');
      }      
    }
      //
      if($('.site-holder').hasClass('mini-sidebar'))
      {    
        $('.sidebar-holder').tooltip({
          selector: "a",
          container: "body",
          placement: "right"
        });
        $('li.submenu').tooltip('destroy');
      }
      else
      {
        $('.sidebar-holder').tooltip('destroy');
      }
      $('.show-info').click(function(){
        $('.page-information').toggleClass('hidden');
      });

      $('.site-holder.mini-sidebar .content').click(function () { 
       $('.site-holder.mini-sidebar li.submenu ul').hide();
       $('.site-holder.mini-sidebar li.submenu').removeClass('active');

     });


Помогите пожалуйста.
Как нужно правильно прописать функцию //Load sidebar state или дело совсем в другом?


Часовой пояс GMT +3, время: 03:16.