私は個人的なプロジェクトに取り組んでいますが、それに問題があります。
シンプルなホバーメニューを作ろうとしています。
アイデアは、ユーザーがリスト要素にカーソルを合わせると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 が消えます。
私がやろうとしているのは、li または 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();
}
どんな助けでも大歓迎です。