使用JQuery移动光标时隐藏/显示元素的最佳方式
Best way to hide/show an element when cursor is moved using JQuery
我有一个元素,每当光标在页面上的任何位置移动时,我都想显示它,并在光标不活动一段时间后再次隐藏(除非光标悬停在所述元素上)。
这是我得到的最接近的,问题是当隐藏元素时,动画会一遍又一遍地播放,每移动一个像素。我想.stop()可能是答案,但如果是的话,我不知道怎么做。
bkLib.onDomLoaded(function() {
setTimeout(function() {
$("#footer").hide('blind', 500)
}, 5000);
$('html').mousemove(function() {
if($("#footer").is(':hidden')) {
$("#footer").show('blind', 500);
}
if($("#footer").is(':visible') && !$("#footer").is(':hover')) {
setTimeout(function() {
$("#footer").hide('blind', 500);
}, 5000);
}
});
});
尝试在设置另一个超时之前清除您的超时:
bkLib.onDomLoaded(function() {
var timeoutID = setTimeout(function() {
$("#footer").hide('blind', 500)
}, 5000);
$('html').mousemove(function() {
if($("#footer").is(':hidden')) {
$("#footer").show('blind', 500);
}
if($("#footer").is(':visible') && !$("#footer").is(':hover')) {
clearTimeout(timeoutID);
timeoutID = setTimeout(function() {
$("#footer").hide('blind', 500);
}, 5000);
}
});
});
尝试混合使用您的代码和以下内容:
$('#myelement').is(":animated")
因此,您可以猜测它是否可见和当前
相关文章:
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 使用漂亮的照片点击另一个元素显示图像
- 我将如何在 HTML 中将数组中的所有元素显示为可点击的对象
- 使元素显示在最小屏幕大小上
- 更好的做法是通过CSS类或直接(通过DOM)修改HTML元素显示
- 如何在YouTube视频前制作元素显示
- 使隐藏元素显示 X 秒
- 如果元素显示:无;在媒体查询中,它们是否仍然加载
- 无法为每个元素显示高图
- 如何使用 jQuery 逐个元素显示
- 使用 jQuery 画布元素显示 Hiddin Div
- '李'mouseover事件被child'a'元素显示块
- JQuery元素显示/隐藏和控制流
- D3在工具提示上将内部列表的元素显示为不同的行
- AngularJS-动态创建<text区域>使用ngSanitize不会't显示(其他元素显示)
- 如何根据单击的元素的位置使元素显示在右侧或左侧
- 响应元素显示:无;在移动宽度,然后通过javascript按钮返回,但显示的链接断开:block;
- 当我再次单击时,它显示none,高度回到0px,但里面的元素显示,不显示none或离开页面
- 将一个元素显示在另一个元素的顶部,并在其上禁用鼠标悬停事件
- reactjs:为什么在render中定义的一些dom元素显示两次