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

Javascript 修复页面加载时启动的计时器,javascript,forms,timer,pageload,Javascript,Forms,Timer,Pageload,一个简单的Javascript计时器,运行30秒,并在达到0时显示消息。我不知道当按下按钮而不是在页面加载时如何启动它。感谢您的帮助:) var sec=30;//设定秒数 var min=00;//设定会议记录 函数倒计时(){ 第二节; 如果(秒==-01){ 秒=59; min=min-1; }否则{ min=min; } 如果(秒点击我 不要调用addLoadEvent()。将事件侦听器添加到加载函数中的按钮,然后调用倒计时 addLoadEvent(function() {

一个简单的Javascript计时器,运行30秒,并在达到0时显示消息。我不知道当按下按钮而不是在页面加载时如何启动它。感谢您的帮助:)


var sec=30;//设定秒数
var min=00;//设定会议记录
函数倒计时(){
第二节;
如果(秒==-01){
秒=59;
min=min-1;
}否则{
min=min;
}
如果(秒
点击我

不要调用addLoadEvent()。

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

 addLoadEvent(function() {
   var el = document.getElementById("startButton");   
     el.addEventListener("click", countDown, false); 
});
这里是一个完整的示例,其中包含开始/停止和剩余时间显示

var gTimer = null

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

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

这里的主要问题是,你应该分析问题,然后设计解决方案。不要马上开始编码,你最终会得到如上所示的代码。请检查你的代码并删除所有多余的部分。你让事情对你自己来说太难了。这里有很多关于倒计时的教程,很多都不那么复杂x为您的。;)单击“开始”后,时间显示在“我的跨度”中约0.2秒,然后消失……剩余时间=您是否删除了对addLoadEvent()的调用?您拥有的计时器代码有一个全局计时器--它只会倒计时一次,并且调用它的次数越多,它的计数速度就越快。在您提供的代码中,您从未为时间设置过值,时间大概是一个元素。为什么要在每次运行函数时检查document.getElementById是否存在?这完全是指针s、 是的,我只留下了倒计时()代码。多次单击按钮会再次显示倒计时时间,但它会重置…然后再次消失…谢谢SirLisko,这很有帮助:)
 addLoadEvent(function() {
   var el = document.getElementById("startButton");   
     el.addEventListener("click", countDown, false); 
});
var gTimer = null

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

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