jQuery倒计时错误:返回NaN
我正在使用这个jQuery倒计时插件: 我尝试设置倒计时日期:jQuery倒计时错误:返回NaN,jquery,countdown,Jquery,Countdown,我正在使用这个jQuery倒计时插件: 我尝试设置倒计时日期: var countdownValue = $('#countdown-value').text(); alert(countdownValue); var newYear = new Date(countdownValue); $('#countdown-l').countdown({until: newYear}); 要设置值的Div: <div id="countdown-value" style="display:
var countdownValue = $('#countdown-value').text();
alert(countdownValue);
var newYear = new Date(countdownValue);
$('#countdown-l').countdown({until: newYear});
要设置值的Div:
<div id="countdown-value" style="display:none">2011, 07-1, 13</div>
2011年7月1日、13日
警报将返回“2011,07-1,13”
这就是我在数据库中输入的内容,所以这是正确的。但每个数字的倒计时都返回NaN
。但是,如果我直接输入2011,07-1,13
,我会得到一个工作倒计时。是否存在隐藏字符,或者这是以不同的方式解析的
我有点迷路了。有什么想法吗?问题是,当您实例化一个日期对象时,如下所示:
new Date(2011, 07-1, 13)
(顺便说一句,07-1
只解析为6,不确定是否需要这样做)
您正在使用以下版本调用构造函数:
new Date(year, month, day)
这是成功的,因为它创建了一个有效的日期。当您使用$(“#倒计时值”).text()调用Date
构造函数时,您正在使用带有字符串的版本初始化一个新的Date
,本质上是:
new Date("2011, 07-1, 13")
这不是一个好主意
要解决此问题,您可以将检索的日期设置为有效的日期字符串,或者解析出值(请注意,要使此方法易于工作,您必须将07-1更改为“6”):
“直接输入”是什么意思?新日期(2011年7月1日,13日)
?或者新日期(“2011,07-1,13”)
?只是一个附带的问题:日期字符串必须是那种格式吗?@Kevin:查看解析方法的文档:,底部有一些有效日期字符串的示例。明白了。这是因为Date
方法只采用YYYY、MM、DD
格式的日期?Date
采用毫秒
,年、月、日
,以及无参数构造函数。详情如下:
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 });