0
我想實現一個使用jquery和hoverintent的水平下拉菜單。我幾乎已經知道了,但是當您將鼠標從包含下拉鍊接的「li」移動到topnav中的另一個「li」時,菜單就會停留在那裏。水平下拉菜單使用jquery和hoverintent
目標:
單擊鼠標右鍵觸發下拉菜單
- 菜單高度擴展其推動網頁內容下推
- 如果您移動鼠標關閉子菜單或-submenu出現
鏈接關閉觸發器li,菜單應該消失
現在,只要鼠標位於菜單上的任何位置,子菜單仍然可見。
我試着在這裏修改代碼,但我的工作不像這個例子,我不知道爲什麼。
HoverIntent jQuery plugin initiated by a click event
我的HTML:
<div id="menu">
<ul id="topnav">
<li class="border"><a class="topnavlink" href="#">Main Link</a></li>
<li class="border"><a class="topnavlink" href="#">Main Link</a></li>
<li class="border"><a class="topnavlink" href="#">Main Link</a></li>
<li class="border"><a class="topnavlink" href="#">Main Link</a>
<ul id="subnav">
<li><a class="subnavlink" href="#">Drop Down Link</a></li>
<li><a class="subnavlink" href="#">Drop Down Link</a></li>
<li><a class="subnavlink" href="#">Drop Down Link</a></li>
<li><a class="subnavlink" href="#">Drop Down Link</a></li>
<li><a class="subnavlink" href="#">Drop Down Link</a></li>
<li><a class="subnavlink" href="#">Drop Down Link</a></li>
<li><a class="subnavlink" href="#">Drop Down Link</a></li>
<li><a class="subnavlink" href="#">Drop Down Link</a></li>
<li><a class="subnavlink" href="#">Drop Down Link</a></li>
</ul>
</li>
<li class="border"><a class="topnavlink" href="#">Main Link</a></li>
<li class="border"><a class="topnavlink" href="#">Main Link</a></li>
<li class="border"><a class="topnavlink" href="#">Main Link</a></li>
<li class="noborder"><a class="topnavlink" href="#">Main Link</a></li>
</ul>
</div>
MY JQUERY:
function slideDown() {
$(this).click(function() {
$("#menu").stop().animate({height:"68px"}, 200);
$("ul#subnav").slideDown(200)
});
}
function slideUp() {
$("ul#subnav").slideUp(200);
$("#menu").stop().animate({height:"40px"}, 200);
}
$("ul#topnav").hoverIntent({
sensitivity: 7,
interval: 100,
over: slideDown,
timeout: 500,
out: slideUp
})
我快魚發揮各地幾分鐘,但它似乎像矯枉過正只是一個單一的下拉菜單。 – 2011-04-08 11:19:31