我正在處理一個個人項目,只是遇到了一些麻煩。JQuery多個ID隱藏1格
我想做一個簡單的懸停菜單。
想法是當用戶將鼠標懸停在列表元素上時,它顯示一個div,以及鼠標懸停在div上的位置或最初在div上懸停的元素消失。例如
。
當您將鼠標懸停在其中一個div上時。
<ul>
<li>Link 1</li>
<li>Link 2</li>
</ul>
<div id="link1div"><div id="link1innercontent"></div></div>
<div id="link2div"></div>
現在,當你將鼠標懸停在li上時,div出現,當鼠標移動到div上時,div消失。
我想要做的是當你鼠標與李或div的div消失。我遇到了麻煩,因爲當我嘗試這樣做時,兩個div都消失了。
我下面的代碼:
<div id="menu">
<ul>
<li id="link_1">Link 1</li>
<li id="link_2">Link 2</li>
</ul>
</div>
<div id="link_1"><div id="link1innercontent"></div></div>
<div id="link_2"></div>
$("#menu li").hover(function(){
var name1 = $(this).attr('id'); //ignore these, they are for selecting appropriate ids
var name = name1.split('_'); //ignore these, they are for selecting appropriate ids
openMenu(name[1]);
$("#m_"+name[1]).mouseleave(function(){ // I have tried $("#m_"+name[1]+",#"+name1) but it
closeMenu(name[1]); // hides the div before you can access it.
});
});
function openMenu(name){
$("#m_"+name).slideDown();
}
function closeMenu(name){
$("#m_"+name).slideUp();
}
任何幫助將不勝感激。
感謝您的回覆怪異,我明白你的意思,但我的問題主要是在菜單鏈接之間切換。由於mouseleave在我進入和離開div時正常工作,只是在切換不同菜單選項時發生的情況是,以前的div不會消失,因爲mouseleave位於div而不是li,並且我沒有進入mouseleave的div事件來觸發,但是如果我在li上放置一個mouseleave或mouseout,那麼當我將鼠標移出li時,div將會消失。 – java