微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – jquery hover – 如果游标没有重新悬停在元素上,则在延迟后隐藏

我的页面上有一个图标,在500毫秒的延迟后弹出一个带有更多细节的连接盒.

http://jsfiddle.net/qSe6t/1/f

然后,当您从图标和弹出窗口中鼠标拖出时,在500毫秒延迟后,弹出窗口将被隐藏.

我遇到的麻烦是试图阻止隐藏发生是光标在500毫秒延迟期间重新进入图标/弹出窗口.

这是代码……

<div id="accountIcon">
    <div id="accountPopup"></div>
</div>

CSS:

#accountIcon {
    position:relative;
    height:58px;
    width:80px;
    cursor:pointer;
    background-color:#000;
}
#accountPopup {
    position:absolute;
    top:58px;
    width:400px;
    height:200px;
    background-color:#CCC;
    display:none;
}

jQuery的:

$("#accountIcon").hover(function () {
    $("#accountPopup").delay(500).show(0);
}, function () {
    $("#accountPopup").delay(500).hide(0);
});

解决方法:

你需要jquery .stop(true,true)来停止该元素上的所有当前计时器/事件.

我分叉你的小提琴

http://jsfiddle.net/qSe6t/3/

$("#accountPopup").stop(true,true).delay(500).hide(0);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐