javascript - 为特定 div 的 onmouseleave 操作添加延迟 - javascript、html、jquery

标签 javascript jquery html mouseevent mouseleave

<div class="container4" style="position: relative; left: 0px; top: 0px; width: 80px; height: 90px; border: solid 1px black;" onmouseenter="this.style.border='solid 3px red';" onmouseleave="this.style.border='solid 1px black';" onclick="this.style.background='rgba(0, 0, 0, 0.5)';" oncontextmenu="return false;"></div>

http://jsfiddle.net/X4NXf/1/

我需要对某类 div 的 onmouseleave 操作进行简单的延迟。

如果可能,如果您在触发延迟操作之前再次进入 div,则应取消延迟操作,然后在再次离开 div 后再次开始(延迟从头开始)。

首选解决方案是 jquery 函数,但我愿意接受任何其他方法。

最佳答案

尝试 jQuery

$('.container4').mouseenter(function(){
    var $this =  $(this);
    clearTimeout($this.data('timerMouseleave'));
    $this.css('border', 'solid 3px red')
}).mouseleave(function(){
    var $this =  $(this);
    var timer = setTimeout($.proxy(function(){
        $this.css('border', 'solid 1px black')
    }, this), 2000)
    $this.data('timerMouseleave', timer)
})

演示:Fiddle

关于javascript - 为特定 div 的 onmouseleave 操作添加延迟 - javascript、html、jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418152/

相关文章:

html - 修复警报框的高度定义

javascript - IE刷新页面包含iframe时内容错误

javascript - 覆盖表排序顺序

javascript - 使用 jquery 获取所有浏览器中的宽度中心

jquery - 使用 jQuery 循环和延迟无限 CSS3 动画

html - 使网格行占用最小空间

php - 动态子导航

javascript - 使用 JavaScript 显示/隐藏按钮

javascript - 有什么方法可以将状态变量导出/传递到 ReactJS 中的外部 CSS 文件

javascript - 通过偏移位置控制HTML5视频以性能Fiasko结尾