【发布时间】:2011-10-11 10:57:27
【问题描述】:
我的问题如下: 我有一个触发器(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)
};
});
【问题讨论】:
标签: javascript jquery popup mouseenter mouseleave