私は現在、JqueryのAPIを学んでいます。以下に示すように、Jqueryにはホバー機能があることを理解しています。
hover( handlerIn(eventObject) , handlerOut(eventObject))
2 番目handlerOut(eventObject)
の では、ホバーされていないときにメニュー ツリーを折りたたむなどのイベントを処理できます。
次に、以下に示すように、クリック機能の 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>