我的解决方案:
我用这个: http://www.kriesi.at/archives/create-a-multilevel-dropdown-menu-with-css-and-improve-it-via-jquery
这里是jsfiddle:
谢谢你们的帮助!
我有这个下拉菜单,可以使用这个小代码:
$( document ).ready(function() {
$('#menu-headermenu li > .sub-menu').parent().hover(function(){
$(this).children('.sub-menu').stop(true).slideToggle(400);
});
});
问题是,如果鼠标移得过快,子菜单就会关闭,然后才能用鼠标悬停它们。
为了更好地理解,我制作了这个我在youtube上传的视频:https://www.youtube.com/watch?v=VlRJHkK5-u8
答案 0 :(得分:0)
首先,您不需要使用:
$('#menu-headermenu li > .sub-menu').parent().hover
只需使用:
$('#menu-headermenu li').hover
其次,.delay确实有效。查看更新的小提琴,活动延迟1000毫秒(1秒):
答案 1 :(得分:0)
这是另一种方式:http://jsfiddle.net/qphEE/1/
$('#menu-headermenu').find('.menu-item-has-children').hover(function () {
$(this).children('.sub-menu').slideDown(400);
}, function () {
$(this).children('.sub-menu').slideUp(400);
});
答案 2 :(得分:0)
这是我的问题的解决方案:
jQuery slideUp / slideDown函数存在一个已知问题,没有设置高度。确保要隐藏的元素具有指定的高度。
另外,min-height css属性将会成为现实。从元素中删除最小高度。
参考:
https://forum.jquery.com/topic/slideup-slow-and-slidedown-slow-happening-instantly