2016-07-23 3 views
0
$(document).ready(function() { 

    var accordion_head = $('.accordion > li > a'), 
     accordion_body = $('.accordion li > .sub-menu'); 

    /* accordion_head.first().addClass('active').next().slideDown('normal'); */ 

    accordion_head.on('click', function(event) { 

     event.preventDefault(); 

     if ($(this).attr('class') != 'active'){ 
      accordion_body.slideUp('normal'); 
      $(this).next().stop(true,true).slideToggle('normal'); 
      accordion_head.removeClass('active'); 
      $(this).addClass('active'); 
     } 

    }); 

}); 

Я попробовал несколько попыток @ получать активный заголовок аккордеона, чтобы закрыть на клик, но не могу показаться, чтобы работать его :(вертикальный Accordian меню сброса активного состояния по щелчку

Заранее спасибо Стивен

$(document).ready(function() { 

    var accordion_head = $('.accordion > li > a'), 
     accordion_body = $('.accordion li > .sub-menu'); 

    /* accordion_head.first().addClass('active').next().slideDown('normal'); */ 

    accordion_head.on('click', function(event) { 

     event.preventDefault(); 

     if ($(this).attr('class') != 'active'){ 
      accordion_body.slideUp('normal'); 
      $(this).next().stop(true,true).slideToggle('normal'); 
      accordion_head.removeClass('active'); 
      $(this).addClass('active'); 
     } else { 
      accordion_body.slideUp('normal'); 
      accordion_head.removeClass('active'); 
     } 

    }); 

}); 

После поиска некоторое время, а не в какой-либо тип голоса на Javascript, я в конце концов понял. Это рабочая версия :) для выглядывает, как я :) наслаждаться

+0

вы можете создать скрипку –

ответ

0

Оказывается, вы удалите активный класс из accordion_head с этой линии:

accordion_head.removeClass('active'); 

, а затем добавить его обратно сразу после этой строки:

$(this).addClass('active'); 

Я подозреваю, что вы не хотите, чтобы повторно добавить активный класс?

Try:

accordion_head.on ('нажмите', функция (событие) {

event.preventDefault(); 

    if ($(this).attr('class') != 'active'){ 
     accordion_body.slideUp('normal'); 
     $(this).next().stop(true,true).slideToggle('normal'); 
     $(this).addClass('active'); 
    } 
    else { 
     // Other code that applies when accordion_head is not active 
     accordion_head.removeClass('active'); 
    } 

}); 
+0

глупый вопрос я не могу опубликовать то, что я пытался сделать ГРР но?! reclick active, он разрушает тело меню, но затем открывает его :( – scottiescotsman