#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
У меня есть следующий код jquery, в котором есть ошибка. Это работает нормально, если вы открываете один пункт меню, а затем закрываете пункт меню.
Однако, когда вы нажимаете на пункт меню a, а затем нажимаете другой пункт меню, первый пункт меню закроется, как и ожидалось, однако стрелка останется несинхронизированной. Как бы мне это исправить?
$('#accordian h2,h3').click( function() {
var checkElement = $(this).next();
$('#accordian ul ul').removeClass('active');
$(this).closest('ul ul').addClass('active');
$("h2#heading",this).toggleClass("glyphicon glyphicon-chevron-down glyphicon glyphicon-chevron-right");
if ((checkElement.is('ul ul')) amp;amp; (checkElement.is(':visible'))) {
$(this).closest('ul ul').removeClass('active');
checkElement.slideUp('normal');
return false;
}
if ((checkElement.is('ul ul')) amp;amp; (!checkElement.is(':visible'))) {
$('#accordian ul ul:visible').not(checkElement.parentsUntil('#accordian')).slideUp('normal');
checkElement.slideDown('normal');
return false;
}
});
Спасибо всем,
Джеймс
Комментарии:
1. Вам нужно сделать
removeClass("glyphicon glyphicon-chevron-down glyphicon glyphicon-chevron-right");
, как вы скользите вверх по всем открытым окнам.2. поделитесь своей частью HTML и CSS или Jsfiddle будет хорошо.
3. Вышеуказанное действие только заставило значки исчезнуть @ShaunakD.