我有一个链接元素,当你将鼠标悬停在它上面时会出现一个div。这个div意味着在link元素上。当我移动我的鼠标时,显示闪烁的div。有没有办法来解决这个问题。我假设现在div正在覆盖链接元素。
谢谢, ç
答案 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中。