在一个php文件中,我有一个带有id
的div并返回了数据,请参阅代码:
<div id="dom-target" style="display: none;" data-stuff="2017, 8, 20, 0, 0"></div>
好的,现在我需要将数据填充值传递给新的日期调用,(是倒计时),我尝试使用变量,但显示NaN
,例如
var ar = $('#dom-target').data('stuff');
最后JS代码是:
if (jQuery().mbComingsoon) {
var ar = $('#dom-target').data('stuff');
jQuery('#myCounter').mbComingsoon({expiryDate: new Date(ar), speed: 500});
setTimeout(function () {
jQuery(window).resize();
}, 200);
}
显然我无法使用new Date(ar)
从div调用数据?
谢谢!
答案 0 :(得分:2)
而不是尝试解析2017,9,20,0,0和#39;在你的javascript中,为什么不在你的html中使用更适合的日期格式,如下所示:
data-stuff="2019-08-20 00:00"
答案 1 :(得分:1)
new Date('2017, 8, 20, 0, 0')
返回Invalid Date
。这是因为它需要单个参数而不是包含所有参数的字符串。
由于你无法直接在构造函数上调用apply
,因此需要一些魔法:
var raw = '2017, 8, 20, 0, 0',
parts = [null].concat(raw.split(',').map(function (item) {
return parseInt(item.trim(), 10);
})),
_Date = Function.prototype.bind.apply(Date, parts);
console.log(parts, new _Date); // Wed Sep 20 2017 00:00:00 GMT-0400 (EDT)
有一个不错的解释here。
答案 2 :(得分:0)
你可以做到
{{1}}