首先,您的 jQuery 中有几个拼写错误:
$function() {
$(this).find('ul').fadeOut('fast');
}));;
$
从前面删除function
function() {
并在中间添加一个缺失}
的))
并删除额外的;
})});
接下来,我们应该用类对顶级菜单项进行toplevel
分类,并相应地调整 CSS/jQuery。
HTML:
<li class="toplevel"><a href="index.php">Home</a>
<li class="toplevel"><a href="#">Who are we</a>
<li class="toplevel"><a href="#">Contact</a></li>
此外,将margin-left
子ul
元素的 设置为-40px
(用于间距)
CSS:
#menu li.toplevel {
display:inline-block;
padding:8px 12px;
list-style:none;
}
和
#menu ul li ul {
display:block;
position:absolute;
margin-left:-40px;
}
jQuery:
$(document).ready(
function() {
$('#menu ul li ul').hide();
$('#menu ul li').hover(
function() {
$(this).find('ul:first').fadeIn('slow');
},
function() {
$(this).find('ul').fadeOut('fast');
}
)
}
);
这是一个有效的 jsFiddle,您的代码已清理完毕:http:
//jsfiddle.net/9CBs2/1/
一切似乎都按照您的预期进行。确保使用 JavaScript 调试器或工具来检查语法错误。