0

大家好,我有一个用于在网站上运行的倒数计时器。不幸的是,它在 Firefox 中不受支持,尽管它在 Chrome 和 Opera 中运行良好(其他浏览器尚待检查)。

它背后的理论是时间戳“END”设置在页面上并保存在数据库中(一切正常)。然后检索 END (PHP) 并将其输入到 jQuery 函数中,该函数从当前时间倒计时到 END。

php 一切正常,所以我的 jQuery 函数如下所示,因为我确定它位于此处某处。

提前谢谢各位!

// Code for a countdown timer
var countdown = function(end, elements){
    var _second = 1000,
        _minute = _second*60,
        _hour = _minute*60,
        _day = _hour*24,

        finish = new Date(end),
        timer,

        calculate = function(){

            var now = new Date(),
                remaining = finish.getTime() - now.getTime(),
                data;

            if (isNaN(finish)){
                console.log("Invalid date/time");
                return;
            };

            if (remaining <= 0){
                clearInterval(timer);
                if (typeof callback ==='function'){
                    callback();
                }
            } else {
                if (!timer){
                    timer = setInterval(calculate, _second);
                };

                data = {
                    "days" : Math.floor(remaining/_day),
                    "hours" : Math.floor((remaining % _day) / _hour),
                    "minutes" : Math.floor((remaining % _hour) / _minute),
                    "seconds" : Math.floor((remaining % _minute) / _second)
                };

                if (elements.length){
                    for (x in elements){
                        var x = elements[x];
                        data[x] = ('00' + data[x]).slice(-2);
                        document.getElementById(x).innerHTML = data[x];
                    };
                };
            };
        };
    calculate();
}

对不起,它被称为如下:

<script>
    var callback = function(){console.log('Done!')};
    countdown("<?php get_deadline($conn);?>", ['days', 'hours', 'minutes', 'seconds'], callback); // Get deadline for exam name
</script>

正如我所说的php函数工作正常!

4

1 回答 1

0

我在另一个胎面上找到了解决方案,位于此处

正如@charlietfl 所提议的那样,它所要做的就是使格式在浏览器中可读。

我使用的代码在原始脚本的第 8 行:

finish = new Date(end.replace(/\-/g,'\/').replace(/[T|Z]/g,' ')),
         timer,
于 2015-02-23T16:29:45.367 回答