2015-08-27 3 views
0

У меня есть меню аккордеона на моей странице asp.net. Меню работает хорошо, но несколько раз оно автоматически рушится. Если я перезагружу страницу, она несколько раз работает, но большая часть времени существует. Введите код html и jquery из jfiddle. HereАккордное меню автоматически рушится

$('.loc').click(function() { 
      $('#sidewrapper ul ul').slideUp(); 


      if (!$(this).next().is(':visible')) { 
       $(this).next().slideDown(); 
      } 

     }); 

Edit: моя проблема, если я нажимаю один список, который будет активным другие должны разрушаться. Мой код работает нормально. Но некоторое время (в большинстве случаев!), Если я нажму на один список, слайд просто показывается и рушится автоматически, не щелкая другим списком.

+0

я не вижу никакой проблемы здесь, это браузер конкретнее? – sajanyamaha

+0

Проблема существует как в IE11, так и в Chrome. –

ответ

0

Thats, потому что вы пытаетесь сделать slide up весь неупорядоченный список, присутствующий на вашей странице, если вы можете просто попробовать slide up список, который вы сейчас нажимаете, он будет работать нормально.

JS КОД:

$('.loc').click(function() { 
    //$('#sidewrapper ul ul').slideUp(); 
    $(this).closest('li').find('ul').slideUp(); 

    if (!$(this).next().is(':visible')) { 
    $(this).next().slideDown(); 
    } 
}); 

Live Demo @ JSFiddle

+0

Спасибо за усилия. Если один список активен, другие списки должны быть свернуты. Но в вашем решении все становится активным. –

+0

О, я думал, что вы хотите, чтобы только текущий список рушился, и что именно вы ожидаете? – dreamweiver

+0

Если один из активных элементов означает, что другие должны свернуть .. –

Смежные вопросы