jQuery倒计时不适用于所有版本的IE

时间:2011-07-06 12:15:52

标签: jquery ruby-on-rails counter countdown

我在其中一个rails项目中使用jquery倒计时,代码如下 -

var timeoff = new Date("#{time_format(auction.end_time)}");
$("#myDivId .timerContent").countdown({until : timeoff, onExpiry:applySold, compact : true, layout : '', serverSync: serverTime });

和serverTime方法有 -

 function serverTime(){
    $.get("/server_time","", function(data){
      time = new Date(data);
    }, "text");
  return time;

}

此代码适用于firefox,safari和chrome,但在IE中不起作用。 在IE中它呈现了这个 - Nan:NaN:NaN

可能导致这种情况的原因是什么?

P.S。在上面的代码我的观点         var timeoff = new Date(“#{time_format(auction.end_time)}”);

我的时间格式为 - “2011-07-07T00:00:00 + 05:30”

我的Doc类型设置为 -

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

1 个答案:

答案 0 :(得分:0)

我有确切的SAme ISSUE,即时通讯使用Date.parse($(“。time”)。html)对IE和FF都输出正常...当我用纯HTML测试时,它可以工作并倒计时两个浏览器!!但它似乎RUBY rials.js或JS的加载顺序与IE冲突.. !!!!!

在www.scratch22.net /测试中测试此页面,同时在IE和FIREFIOX!工作良好!!但不是来自实际的rails应用!!

修改 所以我从许多不同的地方尝试了许多不同的答案,只能用一个工作来比较日期时间与javascript for IE中的时区

    ruby-1.9.2-p180 :001 > Time.now
        => 2011-07-14 08:55:26 +1000 
    ruby-1.9.2-p180 :002 > Time.now.to_s
        => "2011-07-14 08:55:30 +1000" 
    ruby-1.9.2-p180 :004 > Time.now.to_datetime.to_s 
        => "2011-07-14T08:55:51+10:00"
    ruby-1.9.2-p180 :005 > Time.now.to_formatted_s 
        => "2011-07-14T08:56:18+10:00"
    ruby-1.9.2-p180 :003 > Time.now.to_datetime
        => Thu, 14 Jul 2011 08:55:35 +1000

**我最初有&lt;%= Time.now.to_datetime%&gt;并没有意识到这会在打印到页面**时返回不同的字符串格式

    ruby-1.9.2-p180 :007 > Time.now.to_formatted_s(:rfc822)
        => "Thu, 14 Jul 2011 08:57:26 +1000"

最后一次是时间格式的唯一时间,我可以让IE作为一个数字...我摆脱了Parse以及......

我想做的就是从现在到价格下降的时间返回时间, 并显示倒计时......

结果JS就像是

    now = new Date().getTime(); // Thu, 14 Jul 2011 07:57:26 +1000
    drops_in = new Date("Thu, 14 Jul 2011 08:57:26 +1000").getTime(); //1 hour in future
    countdown = drops - now;
    $(".counter_holder").html(format_time(countdown)); // 00:35:25

在每500毫秒更新一次的间隔内

吸取的教训......

    ruby-1.9.2-p180 :003 > Time.now.to_datetime

不一样

&lt;%= Time.now.to_datetime%&gt;

使用&lt;%= Time.now.to_formatted_s(:rcf822)%&gt;代替