倒计时器与进度条

时间:2016-08-02 07:44:54

标签: javascript html css

我正在使用最终倒计时插件。问题是当我重新加载浏览器时,第二个值与之前同时开始。示例:时间已经过了12分10秒。 10分钟后,当我刷新浏览器时,分钟保持不变。我怎样才能改变它?

这是我的工作链接 http://rrfpractice.com/662121/mou/final-countdown/

我的脚本是:

$(document).ready(function() {

    // this code is for countdown
    $('.countdown').final_countdown({
    start: '0',
    end: ((((31+29+31+30+31+30+31+31+30+31+30+31)*24)*60)*60),
    now: ((((31+29+31+30+31+30+31+2)*24)*60)*60),
    seconds: {
        borderColor: '#2ecc71',
        borderWidth: '6'
    },
    minutes: {
        borderColor: '#2ecc71',
        borderWidth: '6'
    },
    hours: {
        borderColor: '#2ecc71',
        borderWidth: '6'
    },
    days: {
        borderColor: '#2ecc71',
        borderWidth: '6'
    }}, function() {
    // Finish callback
});

1 个答案:

答案 0 :(得分:1)

看起来你将来有一段固定的时间,并希望倒计时。

为什么不这样做:https://jsfiddle.net/mL1jfsLs/

<强> JS

var start = new Date();  // now
var end = new Date("12/15/2016");

// get total seconds between the times
var delta = Math.abs(end.getTime() - start.getTime()) / 1000;

// calculate (and subtract) whole days
var days = Math.floor(delta / 86400);
delta -= days * 86400;

// calculate (and subtract) whole hours
var hours = Math.floor(delta / 3600) % 24;
delta -= hours * 3600;

// calculate (and subtract) whole minutes
var minutes = Math.floor(delta / 60) % 60;
delta -= minutes * 60;

// what's left is seconds
var seconds = Math.floor(delta) % 60;  // in theory the modulus is not required

alert("remaining: " + days + "d " + hours + "h " + minutes + "m " + seconds + "s");

我不知道您使用的是哪个库,因为您没有说明。但是在您的代码中有一个参数now,其中包含您的固定值。所以你需要把它变成一个变量值 因此,您可以使用new Date()对象获取当前时间戳并调用.getTime(),如我的示例所示。
也许是这样的:
now: Math.floor( (new Date()).getTime() / 1000 )