所以我有一段代表菜单本身的HTML:
<div id="menu">
<ul class="pnav">
<li><a href="#">Home</a></li>
<li>
<a href="#">About GM</a>
<ul class="cnav">
<li><a href="#">Team</a></li>
<li><a href="#">Events</a></li>
<li><a href="#">Testimonials</a></li>
<li><a href="#">Contact</a></li>
</ul>
</li>
<li><a href="#">Tournaments</a></li>
<li><a href="#">Membership</a></li>
</ul>
</div>
我也有这个菜单的CSS:
ul.pnav {
list-style: none;
padding: 0 20px;
margin: 0;
width: 920px;
background: #222;
font-size: 1.2em;
background: url(topnav_bg.gif) repeat-x;
}
ul.pnav li {
display:inline;
margin: 0;
padding: 0 15px 0 0;
position: relative;
}
ul.pnav li a{
padding: 10px 5px;
color: #fff;
text-decoration: none;
}
ul.pnav li a:hover{
background: url(topnav_hover.gif) no-repeat center top;
}
ul.pnav li ul.cnav {
list-style: none;
position: absolute; /*--Important - Keeps subnav from affecting main navigation flow--*/
left: 0; top: 35px;
background: #333;
margin: 0; padding: 0;
display: none;
width: 170px;
border: 1px solid #111;
}
ul.pnav li ul.cnav li{
display:block;
margin: 0; padding: 0;
border-top: 1px solid #252525;
border-bottom: 1px solid #444;
clear: both;
width: 170px;
}
我有这个JS:
$(document).ready(function(){
//$("ul.cnav").parent().append("<span></span>");
$("ul.pnav li").click(function() {
$(this).parent().find("ul.cnav").slideDown('fast').show();
$(this).parent().hover(function() {
}, function(){
$(this).parent().find("ul.cnav").slideUp('slow');
});
});
});
我自己并没有写完,只是自定义它,在HEAD HTML标签中这样调用:
<script src="js/dropdown.js"></script>
但是下拉列表无法正常工作,可以帮助我并向我解释一些解决方案吗?:D
答案 0 :(得分:1)
添加:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" ></script>
在上面之前 - 如果你错过了包含jQuery的标签。
答案 1 :(得分:0)
在包含任何js文件之前,您应该包含'jquery.js'文件,您可以在此处下载http://jquery.com/download/
答案 2 :(得分:0)
我怀疑你只是忘了加载jQuery。
此外,我对您的脚本进行了一点改动,使菜单只打开其子子区域。
此:
$("ul.pnav li").click(function() {
变成了:
$("ul.pnav li a").click(function() {
因为它似乎更适合下面的线。