Jquery将项目悬停在'a'标签上

时间:2010-09-02 11:10:42

标签: jquery hover

我有一个链接元素,当你将鼠标悬停在它上面时会出现一个div。这个div意味着在link元素上。当我移动我的鼠标时,显示闪烁的div。有没有办法来解决这个问题。我假设现在div正在覆盖链接元素。

谢谢, ç

3 个答案:

答案 0 :(得分:2)

我猜你正在使用这样的代码:

$("a").hover(function () { // Enter
    $("div").show();
}, function () { // Leave
    $("div").hide();
});

在这种情况下,您的猜测是正确的。如果div浮动在a上,则在显示div时会触发鼠标离开,因为鼠标开始位于div而不是a上{1}}。然后,div被隐藏,鼠标再次进入a ......并且所有时间都开始了。

如果你可以避免div出现(例如使用z-index),那么它会更简单。

否则,我建议你做这样的事情:

$("a").mouseenter(function () {
    $("div").show();
});

$("div").mouseleave(function () {
    $("div").hide();
});

如果你的鼠标在打开时总是在div之上,那么如果鼠标离开它就会自动关闭。

答案 1 :(得分:0)

听起来你没有测试div是否已经可见。您可以使用以下代码测试可见性:

if ($("div").is(":hidden")) {
    // make div visible here
}

希望这有帮助。

答案 2 :(得分:0)

感谢。这是我现在使用的代码......

$( '区域,#地图缩放')。悬停(函数(){         $( '#地图缩放')显示();
    ,function(){         $( '#地图缩放')隐藏();     });

我已将悬停功能添加到出现的div中。