鼠标移动时如何使功能工作?

时间:2015-05-29 00:41:22

标签: javascript jquery html html5 web

$(document).ready(function() {
    var score = 0;

    $("body").mousemove(function() {        
        score++;
        $("#result").val(score);
        console.log(score);
    });

 });

每次移动鼠标时分数都会增加,但是当鼠标不移动时,我应该如何添加一个将分数降低到0的功能?

2 个答案:

答案 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上次移动鼠标的时间。使用已用时间来减少块中的分数。