slideDown 和 slideUp 问题
slideDown & slideUp issue
我有以下响应式网站,但移动导航菜单有问题:
当您调整 window 的大小或将其加载到移动设备中时,您会看到一个包含子菜单项的菜单,该菜单项具有向下滑动效果,每次您单击它们时都会显示子菜单项而且,如果您再次单击它们或单击其他地方,子菜单项将以向上滑动的效果自行隐藏。问题是当您再次调整 window 的大小并再次单击子菜单项时,它们现在会显示并立即隐藏,就像它们无需等待第二次单击即可执行 2 个步骤。
$(window).on('load resize', function () {
if ($(window).width() >= 1000){
$("#menu-top").removeClass();
$("#menu-top").addClass("desktop");
}else{
$("#menu-top").removeClass();
$("#menu-top").addClass("touch");
$("#menu-top.touch .menu-item-has-children a").addClass("primer-boton").css('cursor','pointer');
$("#menu-top.touch .sub-menu a").removeClass();
$("#menu-top.touch .primer-boton").removeAttr("href");
$('#menu-top.touch .menu-item-has-children > .sub-menu').parent().click(function() {
var submenu = $(this).children('.sub-menu');
if ( $(submenu).is(':hidden') ) {
$(submenu).slideDown(200);
} else {
$(submenu).slideUp(900);
}
});
}
});
那是因为每次 window 重新调整代码附加事件侦听器的大小。
所以它在调整大小后会触发两次。先显示菜单再隐藏。
on
活动中您真的需要 resize
吗?也许只是load
就能满足你的期望
我有以下响应式网站,但移动导航菜单有问题:
当您调整 window 的大小或将其加载到移动设备中时,您会看到一个包含子菜单项的菜单,该菜单项具有向下滑动效果,每次您单击它们时都会显示子菜单项而且,如果您再次单击它们或单击其他地方,子菜单项将以向上滑动的效果自行隐藏。问题是当您再次调整 window 的大小并再次单击子菜单项时,它们现在会显示并立即隐藏,就像它们无需等待第二次单击即可执行 2 个步骤。
$(window).on('load resize', function () {
if ($(window).width() >= 1000){
$("#menu-top").removeClass();
$("#menu-top").addClass("desktop");
}else{
$("#menu-top").removeClass();
$("#menu-top").addClass("touch");
$("#menu-top.touch .menu-item-has-children a").addClass("primer-boton").css('cursor','pointer');
$("#menu-top.touch .sub-menu a").removeClass();
$("#menu-top.touch .primer-boton").removeAttr("href");
$('#menu-top.touch .menu-item-has-children > .sub-menu').parent().click(function() {
var submenu = $(this).children('.sub-menu');
if ( $(submenu).is(':hidden') ) {
$(submenu).slideDown(200);
} else {
$(submenu).slideUp(900);
}
});
}
});
那是因为每次 window 重新调整代码附加事件侦听器的大小。 所以它在调整大小后会触发两次。先显示菜单再隐藏。
on
活动中您真的需要 resize
吗?也许只是load
就能满足你的期望