2016-07-28 77 views
0

slideInDown动画只能在移动设备上首次运行(第一次点击/触摸)。如果我双击汉堡图标菜单动画再次工作..jQuery点击功能只能在移动设备上第一次使用

我做错了什么?

$('.mobile-nav-toggle').on('click touchstart', function(){ 
    var status = $(this).hasClass('is-o'); 
    if(status){ 
    $('.mobile-nav-toggle, .mobile-nav').removeClass('is-o'); 
    $('#m-nav ul').removeClass('animated slideInDown'); 
    }else{ 
    $('.mobile-nav-toggle, .mobile-nav').addClass('is-o'); 
    $('#m-nav ul').addClass('animated slideInDown'); 
    } 
}); 
+0

什么是 “汉堡菜单”? –

+0

https://css-tricks.com/wp-content/uploads/2012/10/threelines.png:D – Codehan25

+0

Darn,我在想美味的汉堡XD –

回答

0

没有测试它,我猜这个问题是由于事件发生的顺序。

试试这个:

$(function() { 
    $(document).on("vmousedown", ".mobile-nav-toggle", function() { 
     var status = $(this).hasClass('is-o'); 
     if(status){ 
     $('.mobile-nav-toggle, .mobile-nav').removeClass('is-o'); 
     $('#m-nav ul').removeClass('animated slideInDown'); 
     }else{ 
     $('.mobile-nav-toggle, .mobile-nav').addClass('is-o'); 
     $('#m-nav ul').addClass('animated slideInDown'); 
     } 
    }); 
});