我有这段代码,可以在您不移动鼠标一秒钟左右后淡出页面上的某些内容:
idleTime = 0;
var idleInterval = setInterval(function() {
idleTime++;
if (idleTime > 1) {
var isHovered = $('.fade-outs').is(":hover");
if(isHovered == false) {
$('.fade-outs').stop().fadeOut();
}
}
}, 1000);
$(document).bind('mousemove mousedown', function(e) {
idleTime = 0;
$('.fade-outs').fadeIn();
});
但是,我在 $('.fade-outs').is(":hover");
部分收到以下错误:
Error: Syntax error, unrecognized expression: hover [http://localhost:5545/assets/js/jquery.min.js:3]
有人知道为什么我会收到此错误吗?
最佳答案
我会尝试这样的事情:
var idleTimer;
function startTimer() {
stopTimer();
idleTimer = setInterval(function() {
$('.fade-outs').stop().fadeOut();
}, 1000);
}
function stopTimer() {
idleTimer && clearInterval(idleTimer);
}
$(document).on('mousemove', startTimer);
$('.fade-outs').on({
mouseleave: startTimer,
mouseenter: stopTimer,
mousemove: function(e) {
e.stopPropagation();
}
});
关于javascript - 为什么 .is (":hover") 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12658996/