jQuery秒表,以毫秒和空格键为触发器

时间:2013-04-11 15:28:17

标签: jquery timer space stopwatch milliseconds

我刚刚开始'学习'jQuery,所以我几乎什么都不知道。但是,我想要一个秒表,显示分钟,秒和毫秒。我想通过按空格键来启动计时器,并再次按空格键来停止计时器。有没有人知道如何做到这一点?记住,我对jQuery很新,所以一个好的描述会很棒。

谢谢!

2 个答案:

答案 0 :(得分:1)

一种方法是使用new Date().getTime()检索当前时间 在一个区间内比较我们存储的初始时间和当前时间:

currentTime - startTime = difference in MS

现在在MS中有这样的差异我们可以很容易地做一些基本的数学运算:

LIVE DEMO

var int, ms=0, s=0, m=0;

function swatch(){

  var startTime = new Date().getTime();
  int = setInterval(function(){
      var time = new Date().getTime(); 
      var dif = time-startTime;
      ms= dif%1000;
      s = Math.floor(dif/1000)%60;
      m = Math.floor(dif/1000/60)%60;
      $('#swatch').text( m+':'+s+':'+ms); 
  },1);

}


$(document).on('keydown', function( e ){
   if(e.keyCode == 32 && !int){
        swatch();
   }else{
     clearInterval(int);
     int=0;
   }
});
领先“0”的

OR THIS WAY (Read Rick's comments below)

  s = ('0'+ Math.floor(dif/1000)%60 ).slice(-2);
  m = ('0'+ Math.floor(dif/1000/60)%60 ).slice(-2);

答案 1 :(得分:0)

可以在此处找到JQuery秒表示例:http://www.jquery4u.com/jquery-date-and-time-2/online-jquery-stopwatch/

要使用空格键开始/停止,请使用:

$('body').keyup(function(e){
   if(e.keyCode == 32){
       // user has pressed space
       ss();
   }
});