好了,所以我使用的是jquery countdown plugin和声明如下正在重置计数器,每30秒
$j(document).ready(function() {
$j('#clock').countdown({ to : "#{event.start_date.strftime("%Y:%m:%d:%H:%M")}", remaining : "#{event.start_date - Time.now}", display_on_complete : 'list', hide_on_complete : 'countdown' });
});
这个工作正常,但每隔30秒我需要从这个AJAX调用更新这个倒计时随着时间的推移
$j(document).ready(function() {
function refresh() {
$j.ajax({
type: "GET",
url: "http://developer.yahooapis.com/TimeService/V1/getTime?appid=YahooDemo&output=json",
dataType: "jsonp",
success: function(data){
unix_timestamp = data.Result.Timestamp
var json_date = new Date(unix_timestamp*1000);
console.log(json_date);
setTimeout(refresh, 30000);
}
});
正如你可以看到日期是json_date变量.....,我需要更换Time.now在倒计时的方法,每30秒......就如何实现这一目标
我没有看到你从内部任何地方调用refresh()函数吗?我知道你想循环它,但它看起来并不像你已经初始化它。 – 2012-03-07 04:27:44
我看不出您的代码有问题,唯一可能的问题可能是上下文。试着将你的函数定义为'window.refresh = function(){...};'看看事情是否有不同的表现。此外,您的代码缺少一组'});' – rkw 2012-03-07 07:48:13