【发布时间】:2011-05-27 17:18:48
【问题描述】:
我确信这已经涵盖了,但是有太多的 jquery 父问题,筛选它们是一项非常艰巨的任务。
我有一个这样的无序菜单下拉列表页面:
<ul class="topnav">
<span><li><a href="firstitem.php">Contact</a>
<ul class="subnav">
<li><a href="contact.php">Contact Us</a></li>
<li><a href="testlink.php">Test Link</a></li>
</ul>
</li></span>
<span><li><a href="seconditem.php">Ministries</a>
<ul class="subnav">
<li><a href="#">link 1</a></li>
<li><a href="#">link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
<li><a href="#">Link 5</a></li>
<li><a href="#">Link 6</a></li>
</ul>
</li></span>
</ul>
目前,我的 jquery 是这样引用的:
$(document).ready(function(){
$("ul.topnav li a") .mouseover(function() { //When trigger is clicked...
//Drop down the subnav on click
$(this).parent().find("ul.subnav").slideDown('fast');
$(this).parent().parent("span").hover(function() {
//do nothing since we are already hovering over this span and menu should be dropped
}, function(){
//if we leave the span, slideUp the menu
$(this).parent().find("ul.subnav").slideUp('medium');
});
});
});
下拉菜单有效,但我找不到我正在寻找的跨度,所以目前它永远不会向上滑动。任何帮助,将不胜感激。谢谢
另外,我想在不添加单个标签 ID 的情况下执行此操作。是的,这会更容易,但我从其他人那里得到了这段代码,我想保持相似。
【问题讨论】:
-
你为什么要用
<span>包裹你的<li>?我认为这不是有效的 HTML。 -
我认为没有像
medium这样的 duration 字符串fast和slow或使用数字。Reference -
我不知道这违反了验证规则,但我这样做是为了当我离开主页按钮时,列表项不会立即向上滑动。