【问题标题】:set a stopwatch to stop at a certain number of clicks javascript设置秒表以在一定的点击次数处停止 javascript
【发布时间】:2014-11-17 20:05:13
【问题描述】:

我想知道如何在 javascript 上创建一个秒表,在单击按钮时启动,然后在达到 25 次单击时停止,然后显示时间。这是我当前的代码:

<script>
var test= 1;

function myFunction(){
   if(test < 26){
      document.getElementById("hello").innerHTML= test;
      test++;
   }
}
</script>

此代码最多计数 25,但我希望它最多计数 25,秒表从第一次点击开始,到 25 结束,然后显示时间。 谢谢

【问题讨论】:

  • 这个问题太笼统了。
  • 我认为我们只需要查看更多代码。你能告诉我们秒表的代码,包括它是如何开始的吗?

标签: javascript jquery onclick stopwatch


【解决方案1】:

纯JS方式:

var test = 0;
var start = 0;
var d = 0;

function myFunction(){
    if(test === 0){
        d = new Date();
        start = d.getTime();
    }
    if(test < 25){
        document.getElementById("hello").innerHTML= test;
        test++;
    }
    if(test === 25){
        d = new Date();
        test++;
        document.getElementById("hello").innerHTML= (d.getTime() - start).toString();
    }
}

【讨论】:

  • 这段代码的一些小问题:(1)test 从 1 开始,所以 if 语句给出了错误的结果(但很容易修复),以及(2)test仅在
  • 没错,我只是复制粘贴了他的代码行,并没有意识到 0/1 的事情。是的,我忘记了函数的结束条件。立即添加。注意坦克:D
【解决方案2】:

在第一次点击和最后一次点击时读取时间并减去差异现在可以工作 - 就像这样;

var test= 1;
var starttime = null;

function myFunction(){
   if (test == 1) starttime = Date.now();
   if(test < 26){
      document.getElementById("hello").innerHTML= test;
   } else {
      alert("Time Taken:" + (Date.now() - starttime));
   }
   test++;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多