У меня есть такая ситуация: у меня есть меню, и оно только отображается, затем нажимается кнопка. Все работает нормально, за исключением того, что после того, как меню открыто, я хочу, чтобы он закрылся. Символ кнопки не изменяется и застревает «закрыть». Что я сделал не так?jQuery изменение символов кнопки переключения
$(document).ready(function() {
$(".menu-button").click(function() {
$(".first-page nav").slideToggle(500);
});
if ($('.menu-button').hasClass("menu-open")) {
$('.menu-button').on('click', function() {
$(this).removeClass('menu-open');
$(this).addClass('menu-close');
});
}
if ($('.menu-button').hasClass("menu-close")) {
$('.menu-button').on('click', function() {
$(this).removeClass('menu-close');
$(this).addClass('menu-open');
});
}
});
Fiddle: http://jsfiddle.net/a0kscpa3/
Вам не нужны отдельные события щелчка. Определите событие click и добавьте в него условия if. – Tyr
'$ ('. Menu-button'). On ('click', function() {' даже не вызывается. Поместите предупреждение, и вы увидите, что он не вызван. – spiderman
не смог изменить мой комментарий выше. поэтому я упоминал здесь .. Я хотел сказать «второй» '$ ('. menu-button'). on ('click', function() {' никогда не будет вызываться .. – spiderman