JS倒计时不起作用

时间:2014-02-26 04:25:21

标签: javascript

此代码应显示HTML页面上的秒倒计时。 但它根本不起作用。 可能有什么不对? 我有点复制了网站上的代码,只是添加了一些细节。

function timer() {

    var now = new Date().getFullYear;
    var newdate = new Date("March, 19, 2014");

    var SecCount = (newdate - now) / 1000;
    SecCount = Math.round(SecCount);
    if (SecCount === 1) {document.getElementById("days").innerHTML= "يوم واحد"; }
    else if (SecCount === 2) {document.getElementById("days").innerHTML= "يومان"; }
    else if (SecCount > 2 && SecCount < 10) {document.getElementById("days").innerHTML = (SecCount + " أيام"); }
    else {document.getElementById("seconds").innerHTML = (SecCount + " يوم"); }

    setTimeout(timer,1000);
}

3 个答案:

答案 0 :(得分:0)

除了setTimeout之外,你是否从代码中的某个地方调用了timer()函数。您需要调用它来开始执行并调用setTimeout

答案 1 :(得分:0)

假设您想要变量'now'的完整日期,则应使用Date.now。 getFullYear将仅返回2014,这将给您带来意想不到的结果。 此解决方案仅限于您希望倒计时至2014年3月19日。

// var now = new Date().getFullYear
var now = Date.now();

变量日计数不是以天的形式,而是应该是

// convert the seconds into days
var DayCount = Math.round(SecCount / (3600 * 24));

你是否调用该函数来启动超时循环?

timer();

jsfiddle

答案 2 :(得分:0)

我写了一点fiddle来完成这项工作。

%运算符剩余时间非常有用!