jQuery点击功能仅在移动设备上首次使用

时间:2016-07-28 17:03:08

标签: jquery animation mobile onclick jquery-animate

slideInDown 动画仅在移动设备上首次(首次点击/触摸)工作。如果我双击汉堡图标菜单,动画再次运行..

我做错了什么?

$('.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');
  }
});

1 个答案:

答案 0 :(得分: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');
      }
  });
});