tooglecloss = function(e) {
$(".mobile-navigation").animate({
"width" : "0%"
} , 1500 , function(){
$(".mobile-navigation").css("display","none");
$(".cmn-toggle-switch").removeClass("active").addClass('not_active');
});
};
$('.not_active').on('click', function(e) {
if($(this).hasClass('not_active')) {
$(".mobile-navigation").animate({
"width" : "40%"
} , 1500 );
$(".cmn-toggle-switch").removeClass("not_active").addClass("active");
$(".mobile-navigation").css("display", "block");
$(".active").on('click', tooglecloss );
}
else {
$(".active").off('click', tooglecloss );
}
});
Проблема была в том, что после добавления нового класса active, событие на него не привязывалось из-за уже сформированного Dom дерева, а при удалении not_active его собственное событие все равно выполнялось по той-же причине. В итоге я написал такой костыль с проверками классов. Но есть ощущение, что все намного проще должно быть. Кто укажет на ошибки?