【发布时间】:2016-07-25 08:39:27
【问题描述】:
我想在悬停 div 时显示 工具提示。它也应该在鼠标悬停在tooltip-div 上时显示。
添加一个事件侦听器可以完成这项工作,但如果两个 div 不重叠,则当鼠标位于它们之间并且工具提示消失时,mouseout 调用。
现在我想为鼠标悬停添加延迟,当它获得新的鼠标悬停时取消,但我不知道如何。
document.getElementById("hoverElem").addEventListener("mouseover", function() {
document.getElementById("displayElem").style.visibility = "visible";
});
document.getElementById("hoverElem").addEventListener("mouseout", function() {
document.getElementById("displayElem").style.visibility = "hidden";
});
#hoverElem {
position: fixed;
height: 100px;
weidth: 200px;
top: 0px;
left: 50%;
background-color: white;
}
#displayElem {
position: fixed;
height: 100px;
weidth: 20px;
top: 150px;
left: 50%;
background-color: yellow;
visibility: hidden;
}
<div id="hoverElem">
A little Div
<div id="displayElem">
Tooltip to show
</div>
</div>
【问题讨论】:
-
document.getElementById("hoverElem").addEventListener("mouseout", function() { setTimeout(function() { document.getElementById("displayElem").style.visibility = "hidden"; }, 1000); }); -
jsbin.com/milademobu/edit?html,css,output 为什么需要js来做tooltip?对js有什么严格要求吗?
标签: javascript delay mouseout