Javascript 使用JQuery移动光标时隐藏/显示元素的最佳方法
我有一个元素,每当光标在页面上的任何位置移动时,我都希望显示该元素,并在光标不活动一段时间后再次隐藏该元素(除非光标悬停在该元素上) 这是我得到的最接近的结果,问题是当隐藏元素时,动画会一次又一次地播放,每移动一个像素。我想.stop()可能是答案,但如果是的话,我不知道该怎么做Javascript 使用JQuery移动光标时隐藏/显示元素的最佳方法,javascript,jquery,Javascript,Jquery,我有一个元素,每当光标在页面上的任何位置移动时,我都希望显示该元素,并在光标不活动一段时间后再次隐藏该元素(除非光标悬停在该元素上) 这是我得到的最接近的结果,问题是当隐藏元素时,动画会一次又一次地播放,每移动一个像素。我想.stop()可能是答案,但如果是的话,我不知道该怎么做 bkLib.onDomLoaded(function() { setTimeout(function() { $("#footer").hide('blind', 500) }, 5000); $('htm
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")
因此,您可以猜测它是否可见,以及当前是否发生了一些事情