我正在使用这个jQuery倒计时插件:http://keith-wood.name/countdown.html
我正在尝试设置倒数日期:
var countdownValue = $('#countdown-value').text();
alert(countdownValue);
var newYear = new Date(countdownValue);
$('#countdown-l').countdown({until: newYear});
Div to set value:
<div id="countdown-value" style="display:none">2011, 07-1, 13</div>
警报正在返回'2011,07-1,13'。
这就是我在数据库中输入的内容,所以这是正确的。但倒计时每个号码都会返回NaN
。但是,如果我直接输入2011, 07-1, 13
,我会得到倒计时的工作。是否有隐藏的字符,或者这是以不同的方式解析的?
我有点迷失在这里。有什么想法吗?
答案 0 :(得分:2)
问题在于,当您实例化Date
这样的对象时:
new Date(2011, 07-1, 13)
(顺便说一下,07-1
只是解析为6,不确定是否有意这样做
您使用以下版本调用Date
构造函数:
new Date(year, month, day)
这很成功,因为它创建了一个有效的日期。当您使用Date
调用$('#countdown-value').text()
构造函数时,您正在使用带字符串的版本初始化新的Date
,实质上是:
new Date("2011, 07-1, 13")
哪个不是valid date string。
要解决此问题,您可以设置检索有效日期字符串的日期,也可以解析值(请注意,要使此方法轻松实现,您必须将07-1更改为“ 6" ):
var countdownValue = $('#countdown-value').text();
var values = countdownValue.split(",");
alert(countdownValue);
var newYear = new Date(parseInt(values[0], 10), parseInt(values[1], 10), parseInt(values[2], 10));
$('#countdown-1').countdown({until: newYear });