首页 > 解决方案 > 如何将此倒数计时器更改为分钟和秒?

问题描述

下面是我的代码,它工作正常,但我需要将倒数计时器更改为分钟和秒。像这样的59:5909:09,当它低于 10 时。非常感谢您的帮助。

var test = 3600;
$('button').click(function(){
if (localStorage.getItem("counter")) {
    if (localStorage.getItem("counter") <= 0) {
        var value = test;
    } 
    else {
        var value = localStorage.getItem("counter");
    }
  } 
    else {
        var value = test;
    }
    
    $('#divCounter').text(value);

var counter = function() {
    if (value == 0) {
        localStorage.setItem("counter", test);
        value = 0;
    } 
    else {
        value = parseInt(value) - 1;
        localStorage.setItem("counter", value);
    }
    
    $('#divCounter').text(value);
};

var interval = setInterval(function() { counter(); }, 1000);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="divCounter">3600</div>
<br>
<button>Start The Counter</button>

标签: javascriptjquery

解决方案


一分钟 = 总计 / 60。
秒 = 总计 % 60。

如果分钟或秒低于 10,则添加 0。
只需在添加到 html 之前添加此计算。

var test = 3600;
$('button').click(function(){
if (localStorage.getItem("counter")) {
    if (localStorage.getItem("counter") <= 0) {
        var value = test;
    } 
    else {
        var value = localStorage.getItem("counter");
    }
  } 
    else {
        var value = test;
    }

    $('#divCounter').text(value);

var counter = function() {
    if (value == 0) {
        localStorage.setItem("counter", test);
        value = 0;
    } 
    else {
        value = parseInt(value) - 1;
        localStorage.setItem("counter", value);
    }
    var minutes = Math.floor(value / 60)
    var seconds = value % 60
    if (minutes<10) minutes = '0'+minutes      
    if (seconds<10) seconds = '0'+seconds    
    $('#divCounter').text(minutes+':'+seconds);
};

var interval = setInterval(function() { counter(); }, 1000);
});

推荐阅读