修复页面加载时启动的计时器

发布于 2024-12-02 17:57:10 字数 973 浏览 1 评论 0原文

一个简单的 JavaScript 计时器,运行 30 秒,并在达到 0 时显示一条消息。我不知道如何让它在按下按钮而不是在页面加载时启动。如有任何帮助,我们将不胜感激:)

<script type="text/javascript">
var sec = 30;   // set the seconds
var min = 00;   // set the minutes

function countDown() {
  sec--;
  if (sec == -01) {
    sec = 59;
    min = min - 1;
  } else {
   min = min;
  }
if (sec<=9) { sec = "0" + sec; }
  time = (min<=9 ? "0" + min : min) + " min and " + sec + " sec ";
if (document.getElementById) { theTime.innerHTML = time; }
  SD=window.setTimeout("countDown();", 1000);
if (min == '00' && sec == '00') { sec = "00"; window.clearTimeout(SD); alert("Too slow."); }
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(function() {
  countDown();
});
</script>

A simple Javascript timer that runs for 30 seconds and displays a message once it reaches 0. I cant figure out how to get it to start when a button is pressed instead of on pageload. Any help is appreciated :)

<script type="text/javascript">
var sec = 30;   // set the seconds
var min = 00;   // set the minutes

function countDown() {
  sec--;
  if (sec == -01) {
    sec = 59;
    min = min - 1;
  } else {
   min = min;
  }
if (sec<=9) { sec = "0" + sec; }
  time = (min<=9 ? "0" + min : min) + " min and " + sec + " sec ";
if (document.getElementById) { theTime.innerHTML = time; }
  SD=window.setTimeout("countDown();", 1000);
if (min == '00' && sec == '00') { sec = "00"; window.clearTimeout(SD); alert("Too slow."); }
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(function() {
  countDown();
});
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

月亮邮递员 2024-12-09 17:57:10
<button onclick='countDown();'>Click Me</button>

并且根本不调用 addLoadEvent() 。

<button onclick='countDown();'>Click Me</button>

And just don't call addLoadEvent() at all.

撩发小公举 2024-12-09 17:57:10

将事件侦听器添加到加载函数中的按钮,然后调用 countDown

 addLoadEvent(function() {
   var el = document.getElementById("startButton");   
     el.addEventListener("click", countDown, false); 
});

这里是完整的示例 链接

Add event listener to the button in the load function and then call countDown

 addLoadEvent(function() {
   var el = document.getElementById("startButton");   
     el.addEventListener("click", countDown, false); 
});

Here the full example link

这样的小城市 2024-12-09 17:57:10

这是一个完整示例,其中显示了开始/停止和剩余时间。

var gTimer = null

function endOfTimer() {
    console.log("here");
    window.alert('Too slow');
}

function start() {
    gTimer = window.setTimeout('endOfTimer', 1 * 1000);
}

Here's a full sample with start/stop and remaining time display.

var gTimer = null

function endOfTimer() {
    console.log("here");
    window.alert('Too slow');
}

function start() {
    gTimer = window.setTimeout('endOfTimer', 1 * 1000);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文