如何倒计时约会

bam*_*mab 49 javascript

我想知道是否有人可以帮助我.经过几个小时在这里和网络上不知疲倦地搜索我似乎无法使用jquery找到一个简单的倒计时.我不想使用任何类型的插件只是一个简单的jquery代码来从日期倒计时.我已设法在下面找到此代码.但即使有这个代码放在我的网站上也没有出现.我从jquery.com添加了jquery文件,并添加了带counterID但没有的正确div .如果有人能够解释或告诉我如何在一个采用日期格式并返回倒计时的函数中进行简单的倒计时,我将非常感谢帮助.

var end = new Date('02/19/2012 10:1 AM');

    var _second = 1000;
    var _minute = _second * 60;
    var _hour = _minute * 60;
    var _day = _hour * 24;
    var timer;

    function showRemaining() {
        var now = new Date();
        var distance = end - now;
        if (distance < 0) {

            clearInterval(timer);
            document.getElementById('countdown').innerHTML = 'EXPIRED!';

            return;
        }
        var days = Math.floor(distance / _day);
        var hours = Math.floor((distance % _day) / _hour);
        var minutes = Math.floor((distance % _hour) / _minute);
        var seconds = Math.floor((distance % _minute) / _second);

        document.getElementById('countdown').innerHTML = days + 'days ';
        document.getElementById('countdown').innerHTML += hours + 'hrs ';
        document.getElementById('countdown').innerHTML += minutes + 'mins ';
        document.getElementById('countdown').innerHTML += seconds + 'secs';
    }

    timer = setInterval(showRemaining, 1000);
Run Code Online (Sandbox Code Playgroud)

Siv*_*ran 113

这是正常的JavaScript工作正常.

<script>
var end = new Date('02/19/2012 10:1 AM');

    var _second = 1000;
    var _minute = _second * 60;
    var _hour = _minute * 60;
    var _day = _hour * 24;
    var timer;

    function showRemaining() {
        var now = new Date();
        var distance = end - now;
        if (distance < 0) {

            clearInterval(timer);
            document.getElementById('countdown').innerHTML = 'EXPIRED!';

            return;
        }
        var days = Math.floor(distance / _day);
        var hours = Math.floor((distance % _day) / _hour);
        var minutes = Math.floor((distance % _hour) / _minute);
        var seconds = Math.floor((distance % _minute) / _second);

        document.getElementById('countdown').innerHTML = days + 'days ';
        document.getElementById('countdown').innerHTML += hours + 'hrs ';
        document.getElementById('countdown').innerHTML += minutes + 'mins ';
        document.getElementById('countdown').innerHTML += seconds + 'secs';
    }

    timer = setInterval(showRemaining, 1000);
</script>
<div id="countdown"></div>
Run Code Online (Sandbox Code Playgroud)

您的输出显示如下: -

1天9小时3分钟22秒


UPDATE

使用功能:

<script>

    CountDownTimer('02/19/2012 10:1 AM', 'countdown');
    CountDownTimer('02/20/2012 10:1 AM', 'newcountdown');

    function CountDownTimer(dt, id)
    {
        var end = new Date(dt);

        var _second = 1000;
        var _minute = _second * 60;
        var _hour = _minute * 60;
        var _day = _hour * 24;
        var timer;

        function showRemaining() {
            var now = new Date();
            var distance = end - now;
            if (distance < 0) {

                clearInterval(timer);
                document.getElementById(id).innerHTML = 'EXPIRED!';

                return;
            }
            var days = Math.floor(distance / _day);
            var hours = Math.floor((distance % _day) / _hour);
            var minutes = Math.floor((distance % _hour) / _minute);
            var seconds = Math.floor((distance % _minute) / _second);

            document.getElementById(id).innerHTML = days + 'days ';
            document.getElementById(id).innerHTML += hours + 'hrs ';
            document.getElementById(id).innerHTML += minutes + 'mins ';
            document.getElementById(id).innerHTML += seconds + 'secs';
        }

        timer = setInterval(showRemaining, 1000);
    }

</script>
<div id="countdown"></div>
<div id="newcountdown"></div>
Run Code Online (Sandbox Code Playgroud)

输出结果如下: -

0天23小时25分8秒

1天23小时25分8秒


Nie*_*sol 8

那不是jQuery,那是JavaScript.但无论如何......

你几乎得到了它.唯一的问题是var distance = end-now;.它应该是:

var distance = end.getTime()-now.getTime();
Run Code Online (Sandbox Code Playgroud)

此外,你不应该使用+=innerHTML.相反,使用变量(例如:) var output = ""并添加到该变量,然后分配给innerHTML最后.

最后,仔细检查div匹配的ID是否与您拥有的ID相匹配getElementById.

  • 我真的开始讨厌人们将javascript称为jQuery的趋势......就像人们认为在jquery出现之前你无法对js做任何事情. (5认同)
  • +1提及避免在innerHTML上使用+ =. (2认同)