jQuery - 停止正在进行的动画(淡出),并在鼠标快速进入/离开时再次显示
jQuery - stop animation in progress (fadeOut) and show again when mouse enters/leaves quickly
我有一个
,当悬停在上面时,会显示一些文本。当鼠标离开时,文本淡出。但是,如果鼠标在
fadeOut
完成之前再次进入,则文本将不再显示。
我知道hoverintent
,但我宁愿不使用它,因为它会给mouseEnter/mouseLeave
事件带来轻微的延迟。
难道没有办法,在mouseEnter
时,它只是清除fadeOut
并再次显示文本吗?
我目前使用超时的尝试:
var timeouts = {};
$(document).ready(function(){
$('#wrapper').hover(function(){
clearTimeout(timeouts['test_hover']);
$('#text').show();
}, function(){
timeouts['test_hover'] = setTimeout(function(){
$('#text').fadeOut('slow');
});
});
});
JSBIN: http://jsbin.com/upotuw/5
视频: http://www.youtube.com/watch?v=7RLrz1bEQuU
--
编辑:问题需要将两个参数传递给stop()
函数:stop(true,true)
最终工作代码如下:
var timeouts = {};
$(document).ready(function(){
$('#wrapper').hover(function(){
clearTimeout(timeouts['test_hover']);
$('#text').stop(true,true).show();
}, function(){
timeouts['test_hover'] = setTimeout(function(){
$('#text').fadeOut('slow');
});
});
});
http://jsbin.com/upotuw/7
你想看看 JQuery stop()
函数:
http://api.jquery.com/stop/
相关文章:
- 如何在按住鼠标按钮且光标在视口外时检测鼠标离开
- 如果鼠标离开父对象,则隐藏元素
- 鼠标输入和鼠标离开不起作用
- 鼠标输入鼠标离开没有按照我认为应该的方式工作
- 鼠标离开浏览器窗口的Javascript修改
- 未检测到鼠标离开时的事件
- 鼠标离开后强制重新加载gif
- Angular:模拟触摸设备上的鼠标离开
- 如何激活鼠标离开,如果已经 x 时间
- 悬停(鼠标离开)方法不显示效果
- 正在处理.js - 当鼠标离开画布时继续交互
- mouse在 iframe 的内容中输入鼠标离开
- Javascript - 鼠标离开时延迟动画
- Jquery 鼠标悬停和鼠标离开
- 在单击时对元素进行动画处理,并在该元素和其他元素上单击鼠标输入/鼠标离开
- 鼠标离开不会再次打开
- 鼠标离开时悬停和反向的跨浏览器动画 gif
- FF 鼠标离开/鼠标输入事件
- 下拉导航 - 鼠标离开时菜单闪烁
- 如何将鼠标离开添加到我的文件中?以及我的代码会是什么样子