在鼠标(指针设备)未处于活动状态(不移动)时隐藏按钮
Hiding a button when mouse (pointing device) is not active (not moving)
我试图在鼠标不移动时隐藏按钮。就这样。我在这里找到了一个解决方案,但它引用了一个 Google javascript 文件(直接链接到他们的一个托管驱动器上的 javascript 文件(,我希望我的网站不依赖于其他任何东西——我希望它是独立的。
请帮忙!
<html>
<head>
<script type="text/javascript">>
function change( el )
{
if ( el.value === "Display Menu" )
el.value = "Hide Menu";
else
el.value = "Display Menu";
}
</script>
</head>
<body>
<input type="button" value="Display Menu" onclick="return change(this);" />
</body>
</html>
我相信
你找到的解决方案有一个你不想要的jQuery部分。
这是可以的,因为它是纯原生的javascript。
var el = document.getElementById("btnMenu");
var timer;
function showBtn(){
el.style.display = "block";
}
function hideBtn(){
el.style.display = "none";
}
hideBtn();
document.onmousemove = function(){
showBtn();
clearTimeout(timer);
timer = setTimeout(function(){
hideBtn();
},100)
}
<body>
<input id="btnMenu" type="button" value="Display Menu"/>
</body>
这会在鼠标不移动 300 毫秒后隐藏按钮,这足以让它不闪烁(每隔几毫秒隐藏和显示一次(。
如果可能的话,最好给按钮一个 id,以便清晰和易于选择。
设置按钮的 CSS to display:none;
按钮开始隐藏,在移动时,它设置为 show()
,然后如果没有检测到移动,计时器准备在 300 毫秒后再次隐藏它。如果检测到移动,则重置计时器。
var timer;
$(document ).mousemove(function(){
$("#mouseDrivenButton" ).show();
clearTimeout(timer);
timer = setTimeout(function(){
$("#mouseDrivenButton" ).hide();
},300)
});
#mouseDrivenButton {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="mouseDrivenButton">Mouse Is Moving</button>
这个是纯粹的JAVASCRIPT,不需要外部脚本
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#mouseDrivenButton {
display: none;
}
</style>
<script>
var timer;
document.onmousemove = function() {
document.getElementById('mouseDrivenButton').style.display = "block";
clearTimeout(timer);
timer = setTimeout(function() {
document.getElementById('mouseDrivenButton').style.display = "none";
}, 300)
};
</script>
</head>
<body>
<button id="mouseDrivenButton">Mouse Is Moving</button>
</body>
</html>
相关文章:
- 在Angular 2中布线期间保持零部件处于活动状态
- 如何使bxslider仅在移动视图中处于活动状态
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 使用纯javascript而非jquery使所选选项卡处于活动状态并保持非活动状态
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- 返回上一页时,Javascript仍处于活动状态
- Angular+bootstrap ui,检查当前选项卡是否已处于活动状态
- 按钮处于活动状态,焦点无法在Mac FireFox上工作
- 禁用永久活动状态
- 单击我网站中的链接时打开新选项卡,保持当前选项卡处于活动状态
- 网页在等待 AJAX 响应时变为非活动状态
- 广告拦截处于活动状态,然后不要打开超链接到新标签
- 如何创建至少 1 个框处于活动状态的复选框列表
- 如何使按钮具有 :活动状态 1 秒
- JQuery UI 1.11 将选项卡设置为活动状态
- 如何获取链接以保持活动状态
- 限制 .live() 函数在 JavaScript 中变为活动状态的次数
- 在鼠标(指针设备)未处于活动状态(不移动)时隐藏按钮
- Zurb Foundation Top Bar & jQuery - 检查移动导航是否处于活动状态
- 如果移动浏览器未打开或处于活动状态,请在Javascript/jQuery中进行检测