5

我的网站中嵌入了一个倒计时。它在 Mozilla / Chrome / IE9 中运行良好,但在 IE 8 中无法运行。

http://jsfiddle.net/FVsGa/

$(function () {
    var ts = 1359647999000;

    if (ts > 1356524873000) {
        $('#countdown').countdown({
            timestamp: ts
        });
    }
});
4

2 回答 2

4

当您使用 jQuery 方法通过 HTML 字符串创建 DOM 元素时,Internet Explorer 8 的行为与其他现代版本的 IE9 略有不同。显然,在 IE8 中,您需要提供结束标记才能正确创建元素。

您正在使用的倒计时插件包含以下行:

$('<span class="count' + this + '">')

注意这里 span 元素没有关闭。你有几个选择:

  1. 关闭元素,或
  2. 选择不同的方法

第一条路线是不言自明的:

$('<span class="count' + this + '"></span>')

这将解决您在 IE8 中的问题。

第二种选择是采取不同的方法。我发现真正有吸引力的是使用 HTML/Props 签名,将属性作为第二个参数传入:

$('<span>', { "class" : "count" + this })

这也解决了 IE8 中的问题。

我已经分叉并更正了代码,并发出了一个拉取请求,将更改拉回原始存储库,以造福他人。

于 2012-12-26T15:03:26.677 回答
0

使用您提供的小提琴中的 about,我在 github 上找到了开发者项目:https ://github.com/martinaglv/jQuery-Countdown

这里有一个关于 IE8 兼容性的未解决问题,您可以查看https://github.com/martinaglv/jQuery-Countdown/pull/3

于 2012-12-26T13:35:36.563 回答