【问题标题】:Change innerHTML onmousemove event更改 innerHTML onmousemove 事件
【发布时间】:2017-06-05 06:15:38
【问题描述】:

我想用 onmousemove 事件更改 div 的 innerHTML。

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

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

如何实现?

【问题讨论】:

  • 请发布您的代码

标签: javascript jquery html css


【解决方案1】:

您可以只使用mousemove 设置innerHTML,每次事件触发时,获取时间戳,然后使用带有某种阈值的setInterval 来检测鼠标何时停止移动以重置@987654324 @

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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    相关资源
    最近更新 更多