描述:我构建了一个菜单,当用户将鼠标悬停在菜单上时会显示一个子菜单。(菜单使用 jQuery)。此外,我的菜单设置方式是,如果用户将鼠标悬停在菜单上的某个 div 上,jQuery 会采用该 div 名称并附加一个子菜单 id,它告诉 jQuery 要显示哪个子菜单 div。
使用的 jQuery:
$(function() {
$('#nav div').hover(function() {
var menu_name = $(this).attr('id'); //gets current div id
sub_menu_name = '.sub_' + menu_name; //creates the sub menu that matches that div menu
$(sub_menu_name).css('display', 'block');
}, function () {
$(sub_menu_name).css('display', 'none');
});
});
Jsfiddle 链接:请查看:
[1]: http: //jsfiddle.net/tech_noob/nXR5Y/1/查看我用于此菜单的所有代码。
问题:当用户将鼠标悬停在菜单之外并尝试将鼠标悬停在子菜单上时,子菜单也会消失。如果用户将鼠标悬停在子菜单上,我希望子菜单保持原位,并且仅当用户悬停在子菜单之外或移动到新菜单链接时才会消失。如果可能的话,我还想保留我在 HTML 中使用的代码结构(例如,我见过其他菜单,其中开发人员将子菜单用作相应菜单链接父项的子菜单)。
旁注:我本地主机中的 UI 在其各自的菜单链接下显示子菜单,在 jsfiddle 上,子菜单已关闭。不知道确切原因,但这是一个小问题。