我的网站中嵌入了一个倒计时。它在 Mozilla/Chrome/IE9 中工作正常,但在 IE 8 中工作不正常。
$(function () {
var ts = 1359647999000;
if (ts > 1356524873000) {
$('#countdown').countdown({
timestamp: ts
});
}
});
最佳答案
当您使用 jQuery 方法通过 HTML 字符串创建 DOM 元素时,Internet Explorer 8 的行为与其他现代版本的 IE9 略有不同。显然,在 IE8 中,您需要提供结束标记才能正确创建元素。
您正在使用的倒计时插件包含以下行:
$('<span class="count' + this + '">')
这里请注意,span 元素不是封闭的。您有几个选择:
- 关闭元素,或者
- 选择不同的方法
第一条路线非常不言自明:
$('<span class="count' + this + '"></span>')
这将解决您在 IE8 中的问题。
第二个选择是采取不同的方法。我发现真正有吸引力的一个是使用 HTML/Props 签名,将属性作为第二个参数传递:
$('<span>', { "class" : "count" + this })
这也解决了 IE8 中的问题。
我有forked and corrected代码,以及 issued a pull-request为了其他人的利益,将更改拉回原始存储库。
关于jQuery 倒计时不适用于 IE 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14040715/