当前位置: 首页 > 知识库问答 >
问题:

Javasacript倒计时计时器,以天、小时、分钟、秒为单位

史骏祥
2023-03-14

我试图创建一个基于时间的倒计时钟。它不是基于current_dates。将被拉取的初始时间将来自一个单独的php文件。这将是一个基于浏览器的游戏。当有人点击按钮来启动这个脚本。它将检查是否满足某些要求,如果满足,那么这个脚本将启动。根据对象的级别,它将拉动该进行中级别的初始计时器。希望这有意义。无论如何,我基于我提供的第一个代码的计时器脚本。

此脚本仅占分钟和秒。我对它进行了修改,使其也包括了天和小时。在这个过程中的某个地方,我把事情搞砸了,剧本根本就不起作用。我也不确定这是否是最好的计算方法。所以,如果你有一个更干净的方法,请分享。先谢谢你。

这个脚本是基于我看到的分钟/秒脚本。以下是原始来源:

<span id="countdown" class="timer"></span>
<script>
   var seconds = 60;
   function secondPassed() {
   var minutes = Math.round((seconds - 30)/60);
   var remainingSeconds = seconds % 60;
   if (remainingSeconds < 10) {
      remainingSeconds = "0" + remainingSeconds; 
   }
   document.getElementById('countdown').innerHTML = minutes + ":" + remainingSeconds;
   if (seconds == 0) {
    clearInterval(countdownTimer);
    document.getElementById('countdown').innerHTML = "Buzz Buzz";
   } else {
    seconds--;
   }
   }
   var countdownTimer = setInterval('secondPassed()', 1000);
</script>

下面是我试图包含天、小时、分和秒的修改脚本。

<span id="countdown"></span>
<script>
     var current_level = 93578;

     function timer() {

        var days = Math.round(current_level/86400);
        var remainingDays = Math.round(current_level - (days * 86400));

        if (days <= 0){
             days = current_level;
        }

        var hours = Math.round(remainingDays/3600);
        var remainingHours = Math.round(remainingDays - (hours * 3600));

        if (hours >= 24){
             hours = 23;
        }

        var minutes = Math.round(remainingHours/60);
        var remainingMinutes = Math.round(remainingHours - (minutes * 60));

        if (minutes >= 60) {
             minutes = 59;
        }

        var seconds = Math.round(remainingMinutes/60);

        document.getElementById('countdown').innerHTML = days + ":" + hours ":" + minutes + ":" + seconds;

        if (seconds == 0) {
             clearInterval(countdownTimer);
             document.getElementById('countdown').innerHTML = "Completed";
        }
     }
     var countdownTimer = setInterval('timer()', 1000);
</script>

共有3个答案

金慈
2023-03-14

这是我的工作和测试的例子,基于你的代码

<span id="countdown"></span>
<script>
     var current_level = 3002;

     function timer() {

        var days = Math.floor(current_level/86400);
        var remainingDays = current_level - (days * 86400);

        //if (days <= 0){
        //    days = current_level;
        //}

        var hours = Math.floor(remainingDays/3600);
        var remainingHours = remainingDays - (hours * 3600);

        //if (hours >= 24){
        //     hours = 23;
        //}

        var minutes = Math.floor(remainingHours/60);
        var remainingMinutes = remainingHours - (minutes * 60);

        //if (minutes >= 60) {
        //     minutes = 59;
        //}

        var seconds = remainingMinutes;

        document.getElementById('countdown').innerHTML = days + ":" + hours + ":" + minutes + ":" + seconds;

        //if (seconds == 0) {
        //    clearInterval(countdownTimer);
        //     document.getElementById('countdown').innerHTML = "Completed";
        //}

        current_level--;
     }
     var countdownTimer = setInterval(timer, 1000);
</script>
慕璞
2023-03-14

就我个人而言,我会使用jQuery倒计时计时器集成。它很简单,有许多选项以不同的格式显示。因为我对JS也相当陌生,所以这是我发现的获得计数/计时器的最简单方法。

http://keith-wood.name/countdown.html

申奇希
2023-03-14

我终于重新审视了这一点,重新编写了代码,这就像一个符咒。

var upgradeTime = 172801;
var seconds = upgradeTime;
function timer() {
  var days        = Math.floor(seconds/24/60/60);
  var hoursLeft   = Math.floor((seconds) - (days*86400));
  var hours       = Math.floor(hoursLeft/3600);
  var minutesLeft = Math.floor((hoursLeft) - (hours*3600));
  var minutes     = Math.floor(minutesLeft/60);
  var remainingSeconds = seconds % 60;
  function pad(n) {
    return (n < 10 ? "0" + n : n);
  }
  document.getElementById('countdown').innerHTML = pad(days) + ":" + pad(hours) + ":" + pad(minutes) + ":" + pad(remainingSeconds);
  if (seconds == 0) {
    clearInterval(countdownTimer);
    document.getElementById('countdown').innerHTML = "Completed";
  } else {
    seconds--;
  }
}
var countdownTimer = setInterval('timer()', 1000);
<span id="countdown" class="timer"></span>
 类似资料:
  • 我试图创建一个倒计时计时器,努力让它显示小时、分钟、秒。 努力使分钟和小时正确显示。 除此之外,我还需要计时器在午夜开始计时17小时。按照3600*17(17小时)的思路思考,然后去掉剩余的持续时间?

  • 本文向大家介绍JS倒计时实例_天时分秒,包括了JS倒计时实例_天时分秒的使用技巧和注意事项,需要的朋友参考一下 HTML代码: JavaScript代码: 以上这篇JS倒计时实例_天时分秒就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我有一个函数,受hms的启发,但我希望将其扩展到包括处理和显示天数。 我已经开始编辑脚本,但很快意识到我在处理逻辑方面超出了我的深度,几个小时跑到几天,反之亦然...... 以下是我到目前为止所拥有的: 秒:“那花了4天1小时1分1秒才运行。” < code>127932秒:“运行时间为1天11小时32分12秒。” < code>86400秒:“花了1天时间运行。” 秒:“这花了4天97小时1分1

  • 我有一个倒计时计时器来隐藏div,然后显示另一个div。我已经按秒完成了,但我想将秒转换为分钟和小时。 我怎么能这么做? 感谢任何人回答我的问题... 这是我的代码:

  • 问题内容: 这就是我目前所拥有的 我觉得是对的。数小时和数天应该是- 然后- 但是我的时间和日子是不正确的 问题答案: 一种简单的计算时间的方法是使用类似 如果您的天数超过28天,则可以使用此功能,但是如果您的时间为负数,则无法使用。

  • 所以我试图做一个计算器,可以显示多少天,小时,分钟,秒输入秒。我想把0隐藏在0天,0小时,2分钟,23秒内,我可以完成,但是有两个大问题... 每当我输入像3600,ir 60这样的数字时,程序就会返回启动,没有任何消息。 每当我尝试删除xx**.0**,并将:.0f添加到{}s时,我都会得到ValueErrors... 我几乎是一个初学者,老实说,我尝试了一整天,但我仍然在挣扎...如果你能告诉