我目前正在学习Jquery的api。我了解 Jquery 具有悬停功能,如下所示:
hover( handlerIn(eventObject) , handlerOut(eventObject))
使用第二个handlerOut(eventObject)
,我可以处理未悬停时折叠菜单树等事件。
然后我查看了 click 函数的 api,如下所示:
.click( [eventData], handler(eventObject) )
类似于我在之前的描述中想要实现的,我有一个菜单树。单击列表项时,它将下拉到子菜单。我的问题是当我点击菜单外或点击其他项目时如何折叠这个子菜单树?
最后,我使用 jquery-1.2.6.min.js 来实现这一点。
我的 jQuery:
$("li.p1:has(ul)").click(function(event){
if (this == event.target) {
var current = this;
$("#nav li:has(ul)").each(function() {
if (this != current) $(this).children().slideUp(400);
});
$("ul:first", $(this)).slideToggle(400);
}
},function(){$(this).children().slideUp(400);});
我的 HTML:
<div id="wrap">
<ul id="nav">
<li class="p1 down">Manage Subject
<ul>
<li><a href="#url">Add Subject</a></li>
<li><a href="#url">Edit Subject</a></li>
<li><a href="#url">Delete Subject</a></li>
<li><a href="#url">Export Subject</a></li>
</ul>
</li>
<li><a href="#url">Manual Crawling</a></li>
<li><a href="#url">Crawl Interval</a></li>
<li><a href="#url">Search Parameter</a></li>
</ul>
</div>