IE和Firefox中的NaN字符

时间:2014-05-24 13:29:26

标签: javascript return nan

这是我的HTML代码:

<ul class="countdown">
  <li class="timer"><div  id="days"></div><H1>Days</H1></li>
  <li class="timer"><div  id="hours"></div><H1>Hours</H1></li>
  <li class="timer"><div  id="mins"></div><H1>Minutes</H1></li>
  <li class="timer"><div  id="secs"></div><H1>Seconds</H1></li>
</ul>

这是JS代码,

var xmas = new Date("jule 2, 2014 00:01:00");
var now = new Date();
var timeDiff = xmas.getTime() - now.getTime();
if (timeDiff <= 0) {
    clearTimeout(timer);
    document.write("Christmas is here!");
    // Run any code needed for countdown completion here
}
var seconds = Math.floor(timeDiff / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
hours %= 24;
minutes %= 60;
seconds %= 60;
document.getElementById("days").innerHTML = days;
document.getElementById("hours").innerHTML = hours;
document.getElementById("mins").innerHTML = minutes;
document.getElementById("secs").innerHTML = seconds;
var timer = setTimeout('cdtd()',1000);

结果在Chrome中有效,但IE和Firefox返回NaN

2 个答案:

答案 0 :(得分:1)

我明白了。

现场示例:http://testnaman.neocities.org/quicktest2.html。这不是永久性的。

您需要更改:

var xmas = new Date("jule 2, 2014 00:01:00");

要:

var xmas = new Date("July 2, 2014 00:01:00");

因为看起来Firefox不喜欢不正确的拼写。

有关详细信息,请查看:new Date() is working in Chrome but not Firefox

答案 1 :(得分:1)

基本上,您的问题是如何设置日期。

应该是这样的:

var xmas = new Date("July 2, 2014 00:01:00");

注意“七月”而不是“jule”。

查看新的Date构造函数以及Date格式应该如何: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

日期必须由Date.parse()

识别

Firefox实现无法识别该格式,但Chrome可以识别。