私の問題は次のとおりです。トリガー(a)とポップアップ(div)を取得しました。div はアンカー内にネストされていません。
- a にカーソルを合わせると、div が表示されるようにします。
- a から div に移動すると、表示されたままになります。
- divを離れるときは、閉じたいです。
- a の上にカーソルを置いて div に入らずに離れると、div を閉じます。
私はそのほとんどを理解しましたが、今は要求番号に苦労しています. 2. a で mouseleave をチェックするとき、div に mouseenter があるかどうかをチェックします。もしそうなら、私はマウスリーブを中止したい。そうでない場合は、divを閉じたいです。
私は何を間違っていますか?これはこれを行う正しい方法ですか?
マークアップは次のとおりです。
<a href="#" class="popup_toggle" style='display:block;width:50px;height:50px;border:1px solid red;position:relative;'>Toggle</a>
<div class="popup_div" style='position:absolute;top:50px;left:0px;border:1px solid blue;display:none;'>Popup</div>
jQuery は次のとおりです。
$('.popup_toggle').mouseenter(function() {
var element = $(this).next('.popup_div');
$.data(this, 'timer', setTimeout(function() {
element.show(100);
}, 500));
});
$('.popup_toggle').mouseleave(function() {
clearTimeout($.data(this, 'timer'));
if($('.popup_div').mouseenter==true)
{
return false;
}
else
{
$('.popup_div').hide(100)
};
});