【问题标题】:javascript countdown script from milliseconds in to hours-minutes-seconds从毫秒到小时-分钟-秒的javascript倒计时脚本
【发布时间】:2012-07-12 23:02:32
【问题描述】:

我正在寻找一种将毫秒输出为小时-分钟-秒的简单方法。我见过一些插件,但我不想在插件中使用插件,我也见过很多倒计时 sn-ps 但这些都是使用日期,我使用的不是日期而是毫秒。

谢谢。

编辑:我正在寻找一个从 xxxx 毫秒倒数到零的脚本

//直到现在我有这个

    diff  = 100000000;

    function showTimer() {

        hours = Math.floor( diff / (1000*60*60) );
        mins  = Math.floor( diff / (1000*60) );
        secs  = Math.floor( diff / 1000 );

        $('.count').html(hours+ 'hours' +minutes + 'minutes' +seconds + ' seconds');
    }

    setInterval(function(){showTimer()}, 1000 );

【问题讨论】:

  • 您需要使用 Date 作为可靠的计时器吗?

标签: javascript jquery timer


【解决方案1】:

简单的数学。

1000 毫秒 = 1 秒。

60 秒 = 1 分钟。

60 分钟 = 1 小时。

所以如果你有 123456789 毫秒,你会做这样的事情:

123456789 / 1000(秒)即 123456.789

123456.789 / 60(以分钟计),即 2,057.6

2,057.6 / 60(以小时计),即 34.29 小时。

然后使用余数 (.2935525) 并将其转换为分钟 - 即 17.61315

再次使用余数 (.61315) 并将其转换为秒...即 36.789

因此,简而言之,123456789 毫秒等于 34 小时 17 分 37 秒。

我相信您可以自己完成 JavaScript 部分。


好吧,也许你需要更多帮助。

演示http://jsbin.com/eqawam/edit#javascript,html,live

var millis = 123456789;

function displaytimer(){
    //Thank you MaxArt.
    var hours = Math.floor(millis / 36e5),
        mins = Math.floor((millis % 36e5) / 6e4),
        secs = Math.floor((millis % 6e4) / 1000);
        $('.count').html(hours+':'+mins+':'+secs);  
}

setInterval(function(){
    millis -= 1000;
    displaytimer();
}, 1000);

此外,为了进一步阅读 - setInterval 可能会漂移。所以不要指望这是 100% 准确的。 Will setInterval drift?

【讨论】:

  • 我知道格式,但我不知道如何使其动态化;-)
  • 感谢我正在寻找的东西。是的,我知道它不准确,但我可以忍受一到两秒的不同;-)
  • 感谢您,这是我找到的最佳答案
【解决方案2】:

我不确定您要的是什么,但是...

var hours = Math.floor(millis / 36e5),
    mins = Math.floor((millis % 36e5) / 6e4),
    secs = Math.floor((millis % 6e4) / 1000);

【讨论】:

    【解决方案3】:

    看看:http://code.google.com/p/jquery-countdown/

    我用过这个。

    在 Javascript 中,您可以执行以下操作

            $('#counter_2').countdown({
          image: 'img/digits.png',
          startTime: '10:59',
          timerEnd: function(){
            alert('The Time Limit for the quiz has expired. Click OK to submit quiz');
            $('#submit_quiz_form').submit(); 
          },
          format: 'mm:ss'
        });
    

    您可以使用上面显示的函数来获取时间...我需要在计时器结束时提交一个表单...如果需要您可以执行类似的操作

    【讨论】:

      猜你喜欢
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 2013-01-12
      • 1970-01-01
      相关资源
      最近更新 更多