停止结束日期是在开始日期之前?

时间:2016-11-30 00:37:09

标签: javascript

在我的JavaScript代码中,我有两个按钮,可以按下开始按钮,然后是一个结束按钮,它将计算时差。

// starts the timer
function startTimer() {
  startTime = new Date();
  alert(startTime);
}


// finishes the timer
function endTimer() {
  endTime = new Date();
  alert(endTime);
}

如果没有先按下开始按钮,如何添加它以便无法按下停止按钮?我是JavaScript的新手,所以有点迷失在这里!

理想情况下,在停止时我想添加一个警告,如果结束日期在开始日期之前,或者如果没有按下开始日期,则必须在完成计时器之前启动计时器。

2 个答案:

答案 0 :(得分:2)

您可以使用某种状态来处理此问题:

var pressedStart = false;

// starts the timer
function startTimer() {
  pressedStart = true;
  startTime = new Date();
  alert(startTime);
}


// finishes the timer
function endTimer() {
  if(!pressedStart) {
    return;
  }

  endTime = new Date();
  pressedStart = false;
  alert(endTime);
}

这将禁用JavaScript中按钮的功能(它不会显示警告),但是如果你想让按钮显示为禁用(样式方式),你也可以这样做:

document.getElementById("idOfMyButton").disabled = true;

答案 1 :(得分:1)

您最初可以使用禁用属性禁用该按钮,然后在您的功能中,您可以简单地写为:

function startTimer() {
 document.getElementById("YourButtonId").disabled = false;
  startTime = new Date();
  alert(startTime);
}