首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改innerHTML onmousemove事件

更改innerHTML onmousemove事件
EN

Stack Overflow用户
提问于 2017-06-04 21:49:38
回答 1查看 378关注 0票数 1

我想用onmousemove事件来更改div的

假设当鼠标移动到div上时,innerHTML将更改为“鼠标正在移动”。当鼠标停止移动时,它返回到默认的innerHTML值:“鼠标不移动”。

很简单。我知道有一个onmouseleave事件可以用来撤消onmouseenter或onmouseover操作,但是没有"onmousecalm“事件来撤消onmousemove。

如何做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-04 22:06:58

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

代码语言:javascript
复制
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)
});
代码语言:javascript
复制
div {
  padding: 5em;
  border: 1px solid black;
}
代码语言:javascript
复制
<div data-move="mouse is moving">mouse is not moving</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44359111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档