【问题标题】:Javascript function not clicked whitin certain timeJavascript函数在特定时间没有被点击
【发布时间】:2016-06-13 15:25:21
【问题描述】:

我需要帮助(再次)。我想要的是一个功能,如果在某个时间没有点击一次按钮,则会显示一个 div。为了更清楚,我正在寻找这种代码:

    function MyFunction() {
if(not clicked one time in 8000 milliseconds)
  document.getElementById("myDiv").style.visibility = "visible";
}

有人知道我应该如何编码吗?谢谢!

【问题讨论】:

  • jsfiddle.net/3c3vojho 这样的东西应该勉强够用。下次我建议你在发帖前多花点力气,说实话,你本可以想出更多的东西。
  • @briosheje 谢谢你的反应,我会试试你的代码。我是新来的,还不完全了解 Stackoverflow。所以我很好奇:为什么带更多东西很重要?
  • 因为 stackoverflow 格式是关于一个特定的问题来解决显示你到目前为止所尝试的,有一段代码简要说明你需要完成什么可能不会被完全考虑在-这里的主题,尽管您可以看到有人通常会回答任何问题。此外,下一次,请尝试澄清当前输入(您尝试编写的代码,无论是否有错误)和所需的输出:)。在任何情况下,要么选择 setTimeout 要么 setInterval 来完成。
  • 另外,这里是对我上面发布的代码的进一步解释:jsfiddle.net/3c3vojho/1
  • @briosheje 我明白了,谢谢!您的代码有效:)

标签: javascript if-statement button time click


【解决方案1】:

您可以使用setTimeout“设置计时器”来执行功能。此函数返回一个 id,您可以使用它来取消计时器。这是一个例子:

var clickTimeout = null;

var cancel = function() {
  clearTimeout(clickTimeout);
};

var start = function() {
  cancel();
  document.getElementById("showMe").style.display = "none";
  clickTimeout = setTimeout(onDone, 2000);
};


var onDone = function() {
  document.getElementById("showMe").style.display = "block";
};

document.getElementById("cancel").addEventListener("click", cancel);
document.getElementById("restart").addEventListener("click", start);

start();
<button id="cancel">click me</button>
<button id="restart">restart</button>




<div id="showMe" style="display: none">Timed out</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 2019-12-01
    • 2011-12-30
    • 2018-02-10
    相关资源
    最近更新 更多