大きな div 内にネストされた非表示の div があり、大きな div にマウスを合わせると、非表示の div が下にスライドするように設定します。マウスアウトすると、div がスライドして戻ります。問題は、マウスが小さい div の上に移動すると、mouseout イベントがトリガーされたため、上にスライドさせようとすることです。マウスがどちらの div にも上らないようにするまで、div が再び非表示になるのを防ぐにはどうすればよいですか?
html:
<div id="topbarVis" class="col1 spanall height1 wrapper">
<div id="topbar"></div>
</div>
(追加のクラスはモジュラー css システムの一部であり、#topbarVis の幅と高さなどを定義します。
CSS:
#topbar {
width: 100%;
height: 30px;
margin-top: -25px;
background-color: #000;
}
js:
// On Mouseover -> Show
$("#topbarVis").mouseover(function(){
$("#topbar").animate({marginTop:0}, 300);
});
// On Mouseout -> Hide
$("#topbarVis").mouseout(function(){
$("#topbar").animate({marginTop:-25}, 300);
});