この質問は以前に尋ねられたに違いないように感じますが、答えを見つけるための正しい用語を知らないはずです。
ヒットエリアとして機能するtransparent
divがあります。ユーザーがこの領域にカーソルを合わせると、メニューバーが画面に表示されます。問題は、カーソルがこのメニューに移動すると、メニューを非表示にするアニメーションが開始されることです。カーソルがその上にあることを感知しません。ヒット領域のz-indexをメニューより高くすることでこれを修正できますが、メニューボタンをクリックできません。
これが私のコードです。何か案は?
CSS
#menu{
position:fixed;
top:-40px;
left:0px;
width:100%;
height:40px;
background-color:#000;
z-index:50;
}
#hitarea{
position:fixed;
top:0px;
left:0px;
width:100%;
height:150px;
background-color:#eee;
z-index:49;
opacity:0;
}
HTML
<div id="menu"></div>
<div id="hitarea"></div>
JAVASCRIPT
$("#hitarea").hover(
function () {
$('#menu').delay(500).animate({
top: 0
}, 500, function() {
// Animation complete.
});
},
function () {
$('#menu').delay(500).animate({
top: -40
}, 500, function() {
// Animation complete.
});
}
);