使用するjQueryナビゲーションがあり、別のnav要素をクリックするslideToggle
と。slideUp
ただし、マウスがクリック機能から表示された子要素を離れたら、ナビゲーション要素を非表示にしたいので、これを希望どおりに機能させることはできません。
私は以下を試しましたが、これが<h5>
タグを残したときに<ul>
消えたのは、以下のステートメントを考えると理にかなっています:
$('.nav_parent h5').on('click mouseleave', function ()
どうすればいいのかわからないので、タイムアウト機能の設定についてオンラインで読みましたが、試してみて失敗しました。
それで、この機能を有効にするために私のスクリプトを適応させたり、適応させたりできる実用的な例はありますか?
私のスクリプトは以下にあるか、jsFiddleを表示しています
前もって感謝します!
js/js.js
$('.nav_parent h5').click(function () {
$(this).next('.nav_child').slideToggle();
$(this).parent().siblings().children().next().slideUp();
return false;
});
index.html
<div class="container">
<ul id="header_nav">
<li class="nav_parent">
<h5>Reports</h5>
<ul class="nav_child">
<li><a href="#" class="mnavlink">Download CSV</a>
</li>
</ul>
</li>
<li class="nav_parent">
<h5>Build</h5>
<ul class="nav_child">
<li><a href="#" class="mnavlink">Build new site</a>
</li>
</ul>
</li>
<li class="nav_parent">
<h5>Subscriptions</h5>
<ul class="nav_child">
<li><a href="#" class="mnavlink">E-Briefings</a>
</li>
</ul>
</li>
<li class="nav_parent">
<h5>Media Store</h5>
<ul class="nav_child">
<li><a href="#" class="mnavlink">Image Store</a>
</li>
</ul>
</li>
</ul>
</div>
css/style.css
.nav_parent {
display:inline-block;
width:24%;
background:#FCCC5F;
}
.nav_parent h5:hover {
background:#FCE49D;
}
.nav_child {
display:none;
}
.nav_child li {
line-height:30px;
}
.nav_child li:hover {
background:#FCE49D;
}