我正在使用我自己的 css 而不是引导程序在一个响应式网站上工作。
在 iPhone 上的 safari 和 Android 上的 chrome 上,导航是错误的。
如果您在菜单中打开一个类别并尝试滚动菜单将关闭。
我正在使用我自己的 css 而不是引导程序在一个响应式网站上工作。
在 iPhone 上的 safari 和 Android 上的 chrome 上,导航是错误的。
如果您在菜单中打开一个类别并尝试滚动菜单将关闭。
我在调试时注意到您的 $(window).resize 函数在用户滚动时被调用。如果宽度没有改变,您可以简单地忽略调整大小事件,它将解决您的问题。
$(window).resize(function(){
if ( width == GetWidth() ) {
return;
}
width = GetWidth();
if(width >= 768){
$("#logo").removeClass("front");
$("#icon-bar .front").removeClass("front");
$("#main-navi").show();
$("#main-navi>li ul").hide();
$("#main-navi .dropped").removeClass('dropped');
} else {
$("#main-navi").hide();
}
});
如果您遇到麻烦,请告诉我!
如果您可以访问 mac,那么您可以进行远程调试,以查看在切换菜单选项时页面上的 css 发生了什么。
相当简单的问题。移动设备没有固定的鼠标。这意味着悬停不起作用!做一个简单的工作,如:
单击一次以打开菜单 -> 单击 agin 以单击菜单项 -> 并关闭菜单
当打开并且用户不想单击任何菜单项时 -> 单击菜单旁边的 -> 关闭菜单
真的很简单,祝你好运
如果您禁用 touchmove 上的点击事件,它会起作用吗?
function clickEvent() {
if($("#logo").hasClass('front')){
$("#main-navi").stop(true, true).slideToggle(250, function(){
$("#logo").toggleClass("front");
$("#dropdown").toggleClass("front");
});
} else {
$("#main-navi").stop(true, true).slideToggle(250);
$("#logo").toggleClass("front");
$("#dropdown").toggleClass("front");
}
}
$("#dropdown").on({
click: clickEvent,
touchmove: function() {
$(this).off('click', clickEvent);
},
touchend: function() {
$(this).on('click', clickEvent);
}
});