javascript - 更改 innerHTML onmousemove 事件

标签 javascript jquery html css

我想用 onmousemove 事件改变一个 div 的 innerHTML。

假设当鼠标移到 div 上时,innerHTML 变为“Mouse is Moving”。当鼠标停止移动时,它返回默认的 innerHTML 值:“鼠标没有移动”。

很简单。我知道有一个 onmouseleave 事件可用于撤消 onmouseenteronmouseover 操作,但没有“onmousecalm”事件可撤消 鼠标移动

如何实现?

最佳答案

您可以只使用 mousemove 设置 innerHTML 并且每次事件触发时,获取时间戳然后使用 setInterval 进行某种排序检测鼠标何时停止移动以重置 innerHTML

的阈值

var div = document.querySelector('div'),
    move = div.getAttribute('data-move'),
    pause = div.innerHTML,
    threshold = 500;

div.addEventListener('mousemove',function() {
  lastMoved = new Date().getTime();
  div.innerHTML = move;
  var timeout = setTimeout(function() {
    var nowTime = new Date().getTime();
    if (nowTime - lastMoved > threshold) {
      div.innerHTML = pause;
    }
  }, threshold)
});
div {
  padding: 5em;
  border: 1px solid black;
}
<div data-move="mouse is moving">mouse is not moving</div>

关于javascript - 更改 innerHTML onmousemove 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44359111/

相关文章:

c# - 元素重叠在其容器上

javascript - 在文本框中留出空间

javascript - 先根据HTML选择显示列表,点击HTML按钮后根据选择定向到特定页面

drawing - javascript库透视扭曲绘图

javascript - 是我一个人的问题,还是创建对话框后在对话框上设置模式不起作用?

javascript - 将 css 应用于第 n 个子词

c# - JQUERY 按钮返回索引元素

html - 为什么这个文本不对齐 :justified work?

jquery - .load 和 .html 出现问题 - 尝试刷新 div 以显示 google AdSense

javascript - 无法转换 CanvasRenderingContext2D.drawImage 的参数 1(尝试在 Canvas 对象上绘制图像)