.on('click')在第一次点击时不起作用

时间:2015-09-30 12:29:13

标签: jquery onclick toggle

我无法让我的代码在第一次点击时工作,但是在第二次点击它似乎工作,我使用jQuery 1.9.1,这是我的代码:

$('nav #mobileMenu').on('click', function(){
    var isToggled = $(this).data('isToggled');
    if(isToggled){
        $("nav#menu").addClass("mobileMenuActive");
        $("nav ul").fadeIn(1000);
        $("nav em").fadeOut('fast');      
    } else {
        $("nav#menu").removeClass("mobileMenuActive");
        $("nav ul").fadeOut(1000);
        $("nav em").fadeIn('fast');   
    }

    $(this).data('isToggled', !isToggled)
});

我做错了吗?

1 个答案:

答案 0 :(得分:0)

我设法通过这样做来实现它:

$('nav #mobileMenu').click(function() {
    if($(this).parent().hasClass("mobileMenuActive")) {
        $(this).parent().removeClass("mobileMenuActive");
        $(this).parent().find('ul').fadeOut(1000);
        $(this).parent().find('em').fadeIn('fast');
    } else {
        $(this).parent().addClass("mobileMenuActive");
        $(this).parent().find('ul').fadeIn(1000);
        $(this).parent().find('em').fadeOut('fast');
    }
});