感谢你们,我的菜单现在可以使用,因为子菜单显示的时间足够长,用户可以将鼠标移到链接上。不幸的是,它并不完全正确。即使用户将鼠标悬停在子菜单上,它也会关闭。我已经添加了下面的 HTML 代码以及修改后的 js 文件代码。我认为问题出在 $('.myMenu > li').bind('mouseout', closeSubMenu); 线。也许另一种选择是在调用 openSubMenu 函数后设置一个超时延迟,以便在子菜单隐藏之前至少给用户 8 秒左右的时间。这对我来说是一个可以接受的解决方案。
<!-- HTML menu code below -->
<ul class="myMenu">
<li class="menuHeader"><a href="#">Employees <img src="images/arrowdown.gif" alt="Employee Links" width="11" height="8" border="0"/></a>
<ul class="subMenu">
<li><a href="#">Link1</a></li>
<li><a href="#">Link2</a></li>
<li><a href="#">Link3</a></li>
<li><a href="#">Link4</a></li>
</ul></li>
</ul>
<!-- js file code below -->
$(document).ready(function() {
$('.myMenu > li').bind('mouseover', openSubMenu);
$('.myMenu > li').bind('mouseout', closeSubMenu);
function openSubMenu() {
$(this).find('ul').css('visibility', 'visible');
};
function closeSubMenu() {
var ul = $(this).find('ul');
setTimeout(function(){
ul.css('visibility', 'hidden');}, 10000);
};
});