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');
}
});
答案 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');
}
});
});