2015-12-25 3 views
7

Я хочу, чтобы удалить эти Задвиньте функциюкак удалить slideUp в JQuery

$(document).ready(function() { 
    $("#tabBar ul.buttons > li > a").on("click", function(e){ 
     //if submenu is hidden, does not have active class 
     if(!$(this).hasClass("active")) { 

      // hide any open menus and remove active classes 
      $("#tabBar ul.buttons li ul").slideUp(350); 
      $("#tabBar ul.buttons li a").removeClass("active"); 

      // open submenu and add the active class 
      $(this).next("ul").slideDown(350); 
      $(this).addClass("active"); 

     //if submenu is visible 
     }else if($(this).hasClass("active")) { 

      //hide submenu and remove active class 
      $(this).removeClass("active"); 
      $(this).next("ul").slideUp(350); 
     } 
    }); 
}); 

, когда я добавить еще один DIV к корпусу с помощью Jquery

$(document).ready(function(){ 
    $(".Collapse_menu").click(function(){ 
     $(".bodyStatic").toggleClass("collapse-body"); 
     //comment: here i want to add my code so that when i call collapse-body the top slide up function should remove 
    }); 
}); 

Я делаю разборное меню здесь являются изображения, которые помогут вам лучше понять.

enter image description here enter image description here

+0

Вы должны покрыть это '.slideUp()' в каком-то состоянии, которое срабатывает на true, а в противном случае - нет. – Hemal

+0

Как :(Я не так разбираюсь в javascript –

ответ

1

Это моя попытка

if($(".bodyStatic").hasClass("collapse-body")) 
{ 
    //DO NOTHING 
} 
else 
{ 
    $(this).next("ul").slideUp(350); 
} 

//OR VICE VERSA 
+0

что я должен писать вместо того, чтобы ничего не делать ... Так что я могу удалить функцию слайдов –

+0

Вы можете поместить все, кроме '.slideUp()' там, если ваш условие удовлетворяет наличию класса '.collapse-body'. – Hemal

1

Согласно моему пониманию, когда вы click на .Collapse_menu, вы хотите, чтобы свернуть по горизонтали расширенное меню, а также закрыть вертикально открыто подменю. Если это так, то вы можете попробовать ниже код:

code1:

$(document).ready(function() { 
    $("#tabBar ul.buttons > li > a").on("click", function(e){ 

     if($(".bodyStatic").hasClass("collapse-body")) 
     { 
      $(".bodyStatic").removeClass("collapse-body") 
     } 
     //if submenu is hidden, does not have active class 
     if(!$(this).hasClass("active")) { 

      // hide any open menus and remove active classes 
      $("#tabBar ul.buttons li ul").slideUp(350); 
      $("#tabBar ul.buttons li a").removeClass("active"); 

      // open submenu and add the active class 
      $(this).next("ul").slideDown(350); 
      $(this).addClass("active"); 

     //if submenu is visible 
     }else if($(this).hasClass("active")) { 

      //hide submenu and remove active class 
      $(this).removeClass("active"); 
      $(this).next("ul").slideUp(350); 
     } 
    }); 
}); 

Кодекса2:

$(document).ready(function(){ 
    $(".Collapse_menu").click(function(){ 
     $(".bodyStatic").toggleClass("collapse-body"); 

     var activeSubmenu = $("#tabBar ul.buttons > li > a.active"); //grab the active submenu if any 
     //hide submenu and remove active class 
     $(activeSubmenu).removeClass("active"); 
     $(activeSubmenu).next("ul").slideUp(350); 
    }); 
}); 

Пожалуйста, дайте мне знать результат.

+0

Нет, я просто попробую ваш код, но его не работает ... В том же случае, что и до –

+0

, он может также размещать HTML и CSS. Или, если возможно, попробуйте, пожалуйста, чтобы создать jsfiddle этого. – vijayP

+0

OK wait Я загружаю его на свой сервер и высылаю вам ссылку в течение 5 минут –