我的问题很简单。当鼠标移动时,我想执行一个在"you are moving"标记中打印div的函数。当我的鼠标不动时,我希望文本功能消失。
下面是我能想到的伪代码。因此,例如,每50/1000秒将调用一次文本函数,并检查鼠标是否在移动。如果正在移动,将显示文本。如果鼠标不动,则不会显示该文本。由于没有鼠标停止事件,我该如何实现?

$(function() {  setInterval(text, 50);
});
function text() {
    /*Do something to check if mouse is moving*/
    /*if mouse is moving*/
    if{
        $("#shu").text("You are moving");
    } else {
        $("#shu").remove();
    }
}

最佳答案

纯JavaScript解决方案:

var shu = document.getElementById("shu");
var timeout;

document.addEventListener("mousemove", function() {
  shu.innerHTML = "You are moving";
  if (timeout) clearTimeout(timeout);
  timeout = setTimeout(mouseStop, 150);
});

function mouseStop() {
  shu.innerHTML = "";
}


jsFiddle

关于javascript - 切换mousemove mousestop事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37984771/

10-10 16:07