我试图在我的脚本中添加IF语句。最初我的剧本应该在没有鼠标移动时淡出。当有的时候重新投入。如果我将鼠标悬停在运行脚本的DIV上,我试图使其无论鼠标移动都会褪色。
http://jsfiddle.net/2kyaJ/1098/
$(function () {
var timer;
var fadeInBuffer = false;
$(document).mousemove(function () {
if (('.fade-object').mouseover) {
$('.fade-object').fadeIn();
} else {
if (!fadeInBuffer) {
if (timer) {
console.log("clearTimer");
clearTimeout(timer);
timer = 0;
}
console.log("fadeIn");
$('.fade-object').fadeIn();
$('html').css({
cursor: ''
});
} else {
fadeInBuffer = false;
}
timer = setTimeout(function () {
console.log("fadeout");
$('.fade-object').fadeOut()
$('html').css({
cursor: 'none'
});
fadeInBuffer = true;
}, 1000)
}
});
});
答案 0 :(得分:0)
这不是整个解决方案,但可能有所帮助。
设置var
,告诉您div
是否悬停:
var hovered = false;
$('div').on('mouseenter', function () {
hovered = true;
});
$('div').on('mouseleave', function () {
hovered = false;
});
打开和关闭mousemove
事件:
$(document).on('mousemove', function () {...});
$(document).off('mousemove', function () {...});
因此,您可以在悬停/离开mousemove
时切换div
事件,或者可以检查if (hovered == true) {...}
。你的选择是:)