首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >切换mousemove mousestop事件

切换mousemove mousestop事件
EN

Stack Overflow用户
提问于 2016-06-23 15:20:40
回答 5查看 2K关注 0票数 0

我的问题很简单。当我的鼠标移动时,我想执行一个在div标签中打印"you are moving"的函数。当我的鼠标不动时,我希望文本功能消失。下面是我能想到的伪代码。例如,text函数将每隔50/1000秒调用一次,并检查鼠标是否在移动。如果它在移动,文本将会显示。如果鼠标没有移动,文本将不会显示。既然没有mousestop事件,我该如何实现这一点呢?

代码语言:javascript
运行
复制
$(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();
    }
}
EN

回答 5

Stack Overflow用户

发布于 2016-06-23 15:36:53

纯javascript解决方案:

代码语言: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

票数 1
EN

Stack Overflow用户

发布于 2016-06-23 15:28:24

代码语言:javascript
运行
复制
$(window).mousemove(
  function() {
    $("#shu").text("You are moving");
  }, function() {
   $("#shu").remove();
  }
);
票数 0
EN

Stack Overflow用户

发布于 2016-06-23 15:30:01

您可以使用jQuery .mousemove函数和设置间隔来检查鼠标的移动。

下面是一个示例代码。

代码语言:javascript
运行
复制
var lastTimeMouseMoved = "";
jQuery(document).ready(function(){
    
   $(document).mousemove(function(e){
     $(".text").show();
   
       lastTimeMouseMoved = new Date().getTime();
       var t=setTimeout(function(){
           var currentTime = new Date().getTime();
           if(currentTime - lastTimeMouseMoved > 1000){
$('.text').fadeOut('fast');
             
           }
       },1000)
   }); 
});
代码语言:javascript
运行
复制
body{
    background-color:#333;
}
.text{
    display:none;
  color:white;
  font-size:25px;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="text">Your are moving!!</div>

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

https://stackoverflow.com/questions/37984771

复制
相关文章

相似问题

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