【发布时间】:2018-05-14 20:27:27
【问题描述】:
我有两个 div 类,比如 A 和 B。当鼠标在 div A 上时,div B 应该出现,然后如果鼠标在 A 或 B 上,div B 应该保持打开状态。如果鼠标不在 A 和 B div 中,则 B 应该消失。 (你可能猜到这是一个简单的工具提示脚本)
这是我写的jquery代码:
$(document).ready(function() {
function show() {
$("BBB").css({'display':'block'});
}
$("AAA").each(function() {
$(this).mouseover(function() {
show();
});
$(this).mouseleave(function() {
time = setTimeout("hide()", 200);
});
$("BBB").mouseleave(function() {
setTimeout("hide()", 200);
});
$("BBB").mouseenter(function() {
clearTimeout(time);
});
});
});
function hide() {
$("BBB").css({'display':'none'});
}
问题是当我从 B 移动到 A 时,B 消失了!我希望它只有在鼠标既不在 A 也不在 B 上时才消失。我该如何解决这个问题?
【问题讨论】:
-
这应该对你有帮助.. link
-
你知道 jQuery 有
.show()和.hide()函数可以做你的函数正在做的事情,只要说$("BBB").show(); $("BBB").hide();。 -
这与此处提出的问题类似:stackoverflow.com/questions/4915977/… 请参阅我发布的 3 个答案和 JSFIDDLE 代码。
-
如果您将工具提示放在触发它的 div 中,则简单的鼠标悬停/移出即可正常工作。见:jsfiddle.net/vfrQX
标签: javascript jquery