jquery – 无鼠标移动时发生的事件持续3秒

前端之家收集整理的这篇文章主要介绍了jquery – 无鼠标移动时发生的事件持续3秒前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的脚本中有一些菜单,我想要一个 jquery脚本,当没有鼠标没有移动3秒时,它将导致菜单隐藏.

我知道它真的是一个愚蠢的问题,但我在任何地方都能得到任何答案.

它不是一个合适的脚本,但我只是想要一些事情发生吗?

$("#target").notmousemove(function(event) {
$('#menu').hide();
},delay(500));

如果有人反驳我的任务,它会非常有用.

我已经根据按钮点击使菜单消失了,但是现在我想要在鼠标移动超过5秒时隐藏菜单

解决方法

在mouseMove处理程序中使用setTimeout.如果鼠标在超时到期之前再次移动,只需使用clearTimeout清除它并再次重新启动超时.

所以类似于:

var timeoutid = 0;
$("#someRootElement").mousemove(function() {
    if (timeoutid) {
       clearTimeout(timeoutid);
       timeoutid = 0;
    }
    timeoutid = setTimeout(myFunctionToHideMenu,5000);
});

编辑:事实上,你甚至不需要检查计时器是否已经运行.尝试停止无效的计时器ID或已停止的计时器将不会导致错误.所以你可以简单地:

var timeoutid = 0;
$("#someRootElement").mousemove(function() {
    clearTimeout(timeoutid);
    timeoutid = setTimeout(myFunctionToHideMenu,5000);
});

猜你在找的jQuery相关文章