一个按钮,有两个功能

时间:2012-02-09 17:19:30

标签: javascript function onclick

当我按下按钮时,我想开始计数,当我再次按下以停止计数时。我知道用一个按钮onclick事件来工作两个函数,它与";"分开。有什么建议吗?此代码适用于一个功能的两个按钮。 提前谢谢。

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

javascript代码:

var c=0;
var t;
var timer_is_on=0;

function timedCount()
{
document.getElementById('txt').value=c;
c=c+1;
t=setTimeout("timedCount()",1000);
}

function doTimer()
{
if (!timer_is_on)
{
timer_is_on=1;
timedCount();
}
}

function stopCount()
{
clearTimeout(t);
timer_is_on=0;
}

3 个答案:

答案 0 :(得分:3)

这样的事情怎么样:

onclick="handleClick();"

你的JS:

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

答案 1 :(得分:1)

那将紧接着另一个,这没有任何意义。

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

答案 2 :(得分:0)

这是我未经测试的解决方案,其中提供了一些技巧。

首先,我认为你可以摆脱<form></form>标签。

其次,您可能会发现为变量提供有意义的名称很有帮助,而不仅仅是ct

第三,更改计时器是一个布尔值:var timer_is_on = false;

将按钮更改为:<input type="button" value="Start count!" onclick="doTimer();" />

第五次用以下代码替换你的代码:

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;

  }

}