如何将data-countdown属性中包含的信息传递给此jQuery函数?我在http://jsfiddle.net/G4qLE/设置了一个测试,它在硬编码时有效,但在用一个警告与硬编码相同的信息的变量替换时中断。我是jQuery的新手,不知道我做错了什么,非常感谢任何帮助。感谢。
<div id="counter" data-countdown="-5, 2013, 5 - 1, 27, 00, 00, 00"></div>
var countdown = jQuery('#counter').data('countdown');
//alert(countdown);// alerts -5, 2013, 5 - 1, 27, 00, 00, 00
jQuery('#counter').countdown({
until: jQuery.countdown.UTCDate(-5, 2013, 5 - 1, 27, 00, 00, 00),//breaks when replaced with countdown
compact: true,
alwaysExpire: true,
expiryText: 'Too Late!'
});
答案 0 :(得分:1)
UTCDate想要一个数字参数列表;你从数据倒计时得到一个字符串并传递它。听起来你需要解析各个值。
答案 1 :(得分:1)
您必须解决的一件事是将5 - 1
更改为4
。 (否则您将获得Invaid Date,因为参数'5 - 1'
是一个字符串而不会是4
)
<div id="counter" data-countdown="-5, 2013, 4, 27, 00, 00, 00"></div>
然后你可以做(正如 @Paulpro 指出的那样):
jQuery('#counter').countdown({
until: jQuery.countdown.UTCDate.apply(jQuery.countdown, countdown.split(/\s*,\s*/)),
compact: true,
alwaysExpire: true,
expiryText: 'Too Late!'
});
的 See the working demo. 强> 的
答案 2 :(得分:0)