Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.08.2015, 18:51
Новичок на форуме
Отправить личное сообщение для valetu Посмотреть профиль Найти все сообщения от valetu
 
Регистрация: 15.05.2015
Сообщений: 7

Ошибка в обработке 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 или дело совсем в другом?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не сохраняет стиль страницы в cookie sana Events/DOM/Window 3 24.04.2015 12:02
Неправильно работает кнопка Нияз Элементы интерфейса 23 07.04.2015 10:56
Ошибка 'stack out of space' при обработке onpropertychange в ie<9 svicserg Events/DOM/Window 9 21.03.2013 18:10
Ошибка при обработке xml tmlder AJAX и COMET 4 29.10.2010 12:11
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07