Javascript 一键两用

Javascript 一键两用,javascript,function,onclick,Javascript,Function,Onclick,当我按下按钮一次,我想开始计数,当我再次按下停止计数。我知道,要使用一个按钮onclick事件处理两个函数,它与“;”分开。有什么建议吗?这段代码可以很好地使用两个按钮,每个按钮对应一个函数。 提前谢谢 <form> <input type="button" value="Start count!" onclick="doTimer();stopCount();" /> </form> 像这样的怎么样: onclick="handleClick();" 还

当我按下按钮一次,我想开始计数,当我再次按下停止计数。我知道,要使用一个按钮onclick事件处理两个函数,它与“;”分开。有什么建议吗?这段代码可以很好地使用两个按钮,每个按钮对应一个函数。 提前谢谢

<form>
<input type="button" value="Start count!" onclick="doTimer();stopCount();" />
</form>

像这样的怎么样:

onclick="handleClick();"
还有你的JS:

function handleClick() {
  if (timer_is_on) {
    timer_is_on = false;
    clearTimeout(t);
  } else {
    timer_is_on = true;
    timedCount();
  }
}

像这样的怎么样:

onclick="handleClick();"
还有你的JS:

function handleClick() {
  if (timer_is_on) {
    timer_is_on = false;
    clearTimeout(t);
  } else {
    timer_is_on = true;
    timedCount();
  }
}

这将一个接一个地调用,这毫无意义


使用单个函数,检查标志的值,然后执行相应的操作。

这将立即调用一个接一个的函数,这没有意义


使用单个函数,检查标志的值,并执行适当的操作。

以下是我未经测试的解决方案,其中包含一些技巧,以供参考

首先,我认为您可能可以去掉
标记

其次,您可能会发现为变量指定有意义的名称很有帮助,而不仅仅是
c
t

第三,将计时器设置为布尔值:
var timer\u is\u on=false

第四,将按钮更改为:

第五,用以下代码替换您的代码:

function doTimer(){

  if( timer_is_on ){

    // Code to start the timer
    // and any other code you want

    timer_is_on = false;

  }else{

    // Code to stop the timer
    // and any other code you want

    timer_is_on = true;

  }

}

这是我未经测试的解决方案,其中包含一些技巧

首先,我认为您可能可以去掉
标记

其次,您可能会发现为变量指定有意义的名称很有帮助,而不仅仅是
c
t

第三,将计时器设置为布尔值:
var timer\u is\u on=false

第四,将按钮更改为:

第五,用以下代码替换您的代码:

function doTimer(){

  if( timer_is_on ){

    // Code to start the timer
    // and any other code you want

    timer_is_on = false;

  }else{

    // Code to stop the timer
    // and any other code you want

    timer_is_on = true;

  }

}

谢谢你的回答!我现在进行更改,当我按两次按钮时,我从不停止。为什么?最后一个“)”是不必要的。谢谢你的回答!我现在进行更改,当我按两次按钮时,我从不停止。为什么?最后一个“)”也是不必要的。谢谢你。你帮我做些改变!另外,在将来缩进你的代码,这将使你的生活更轻松。你帮我做些改变!此外,在将来缩进您的代码,这将使您的生活更轻松