如何让这个计时器更新实时(Javascript)?

时间:2013-06-13 16:23:50

标签: javascript html timer dayofweek

我的思绪空白,任何帮助都会令人惊叹。 如果我删除它会每分钟更新一次(这很好),但我不想丢失使用秒。刷新时更新(秒数。)

    var stopYear    = 2013;    /* the year (YYYY) to stop the count down */
var stopMonth   = 7;    /* the month (1-12) that we stop the count down */
var stopDay     = 14;    /* the day of the month (1-31) that we stop the count down */
var stopHour    = 17;    /* the number of hours (0-23) that we stop the count down*/
var stopMins    = 30;    /* the number of minutes (0-59) that we stop the count down */
var stopSeconds = 0;    /* the number of seconds (0-59) that we stop the count down */

/* build up the date that we are to stop the count down into a single date object */
var stopDate = new Date();
stopDate.setFullYear(stopYear,stopMonth-1,stopDay);
stopDate.setHours(stopHour,stopMins,stopSeconds);

function countDown() {
    var _milliseconds = stopDate - new Date();
    var _days = Math.round(_milliseconds/(86400000));
    _milliseconds = _milliseconds % (86400000);
    var _hours = Math.round(_milliseconds/(3600000));
    _milliseconds = _milliseconds % (3600000);
    var _minutes = Math.round(_milliseconds/(60000));
    _milliseconds = _milliseconds % (60000);
    var _seconds = Math.round(_milliseconds/(1000));
    var countDownText = 'The show is being played right now!';

    if (_minutes > 0) {
        _hours==24 ? _days= _days+1: _days=_days;
        _hours==24 ? _hours=0: _hours = _hours;//gm
        countDownText = _days + ' Day' + (_days!=1 ? 's ' : ' ');
        countDownText += _hours + ' hour' + (_hours!=1 ? 's and ' : ' and ');
        countDownText += _minutes + ' minute' + (_minutes!=1 ? 's ' : ' ');
        countDownText += _seconds + ' seconds' + (_seconds!=1 ? 's ' : ' ');
        countDownText += '.';
    } else {
        if (countDownHandle) clearInterval(countDownHandle);
    }
    document.getElementById('timeSenyu').innerHTML = countDownText;
}

var countDownHandle = null;
function startCountDown() {
    countDown();
    countDownHandle = setInterval('countDown()',60000);
}
onload = startCountDown;

1 个答案:

答案 0 :(得分:0)

您的setinterval函数不应该像这样引用countDown。试试setInterval(countDown, 60000)