悬停时显示非嵌套 div 并在延迟后隐藏

Show non-nested div on hover and hide after delay

我试图在 div #1 被鼠标悬停时显示 div #2。如果 div #2 在短时间内(比如说 3 秒)没有被鼠标悬停,那么它就会隐藏。我的代码是半工作的,但它确实有问题。有时它根本不隐藏,我不知道如何在它再次隐藏之前调整时间。

<div id="1">When this is moused-over</div>
<div id="2">Show this and then hide again if not moused-over within 3 secs.</div>

http://jsfiddle.net/t0hj0r52/

编辑: 以防将来有人需要它。我已经修复了代码并添加了一些代码以在 div 被鼠标悬停后保持打开状态。以前,如果您将鼠标悬停在 div #1 上并在导航离开时不小心将鼠标悬停在 div #2 上,div #2 会立即消失。

http://jsfiddle.net/t0hj0r52/2/

我认为代码很好,只是你使用的不一样 div class 你试图隐藏,在你的代码中我看到一个 $(menu).hide 并且没有菜单变量声明。 更改为:

intVal=  setTimeout(function() { $('.email-div').hide(); }, 3000);