2012-08-04 125 views
0

我需要关于JavaScript的帮助。我正在使用此代码来获取程序的执行时间:如何在手机锁定时运行定时器?

if(seconds == sec){alert(sec);} 

function countdown(element) { 
    interval = setInterval(function() { 
     var el = document.getElementById(element);  
     if(seconds == 0) { 
      //alert(seconds); 
      if(minutes == 0) { 
      el.innerHTML = "00 : 00"; 
      alert("Sorry, you have exceeded our booking time and your order has been cancelled. We are afraid you have to start over!",null,''); 
      clearInterval(interval); 
      ajax_load_image(); 
      window.location.href='movies.html'; 
      return; 
      } else { 
      minutes--; 
      seconds = 60; 
      } 
     } 
     if(minutes > 0) {  
      var minute_text = minutes+(minutes > 1 ? ' ' : ' '); 
     } else { 
      var minute_text = '0'; 
     } 
     if(minute_text<0) 
     { 
      $('#countdown').css('color','red'); 
     } 
     var second_text =seconds > 1 ? '' : ''; 
     if(minute_text=='') 
     { 
      el.innerHTML ='0 : '+seconds; 
     } 
     else 
     { 
      if(seconds<10) 
      { 
      seconds='0'+seconds; 
      } 
      el.innerHTML = '0'+minute_text + ' : ' + seconds + ' ' + second_text + ' Min'; 
     } 
     seconds--; 
    }, 1000); 
} 

当我锁定手机时,计时器自动停止。当我锁定手机时,我可以做些什么来运行计时器。帮我。

回答

0

如果您关心通过的实际时间量,请不要依赖setInterval() - 请将开始时间与当前时间进行比较。

var startTime = new Date(); 

setInterval(function() { 
    // you might need to call .getTime() here - this works in Chrome, 
    // but that might be implementation-dependent 
    var seconds = ((new Date()) - startTime)/1000; 

    // etc 
}); 

我不知道这将如何在移动环境中工作,但是当你解锁和setInterval()运行再次,应适当超时。

相关问题