$(document).ready(function() {
var score = 0;
$("body").mousemove(function() {
score++;
$("#result").val(score);
console.log(score);
});
});
每次移动鼠标时分数都会增加,但是当鼠标不移动时,我应该如何添加一个将分数降低到0的功能?
答案 0 :(得分:8)
如果鼠标不移动,您可以设置一个减小值的间隔,并在移动时将其清除,然后重置它,如下所示:
$(document).ready(function() {
var score = 0, decreaseInterval, intervalTime = 1000;
function decrease() {
if (score > 0) score--;
$("#result").val(score);
};
decreaseInterval = setInterval(decrease, intervalTime);
$("body").mousemove(function(){
clearInterval(decreaseInterval);
score ++;
$("#result").val(score);
decreaseInterval = setInterval(decrease, intervalTime);
console.log(score);
});
});
这是演示它有效的小提琴:https://jsfiddle.net/0swrae76/1/
答案 1 :(得分:0)
选项:使用已用时间。移动鼠标时,检查now() vs上次移动鼠标的时间。使用已用时间来减少块中的分数。