gpt4 book ai didi

Javascript 倒计时器在 Safari 或 IE 上不起作用

转载 作者:行者123 更新时间:2023-11-28 00:43:52 25 4
gpt4 key购买 nike

我有一个问题。我的 CountdownTimer 无法在 Safari 或 IE 上运行...出了什么问题?也许这是很常见的事情,IE 太糟糕了,想要一个其他的日期顺序。也许有人有解决方案...我不知道该写什么......但我必须添加更多文字才能发布此内容。 http://jsfiddle.net/4jdudnb1/1/

var jahr = 2015,
monat = 2,
tag = 15,
stunde = 0,
minute = 0,
sekunde = 0;
var zielDatum = new Date(jahr, monat - 1, tag, stunde, minute, sekunde);

function countdown() {
startDatum = new Date();
if (startDatum < zielDatum) {
var jahre = 0,
monate = 0,
tage = 0,
stunden = 0,
minuten = 0,
sekunden = 0;
while (startDatum < zielDatum) {
jahre++;
startDatum.setFullYear(startDatum.getFullYear() + 1);
}
startDatum.setFullYear(startDatum.getFullYear() - 1);
jahre--;
while (startDatum < zielDatum) {
monate++;
startDatum.setMonth(startDatum.getMonth() + 1);
}
startDatum.setMonth(startDatum.getMonth() - 1);
monate--;
while (startDatum.getTime() + (24 * 60 * 60 * 1000) < zielDatum) {
tage++;
startDatum.setTime(startDatum.getTime() + (24 * 60 * 60 * 1000));
}
stunden = Math.floor((zielDatum - startDatum) / (60 * 60 * 1000));
startDatum.setTime(startDatum.getTime() + stunden * 60 * 60 * 1000);
minuten = Math.floor((zielDatum - startDatum) / (60 * 1000));
startDatum.setTime(startDatum.getTime() + minuten * 60 * 1000);
tage += monate * 30;
sekunden = Math.floor((zielDatum - startDatum) / 1000);
if (tage < 10) {
tage = "00" + tage;
} else if (tage < 100) {
tage = "0" + tage;
}
document.getElementById("svgdays").innerHTML = tage;
if (monat < 10) {
monat = "0" + monat;
}
if (stunden < 10) {
stunden = "0" + stunden;
}
if (minuten < 10) {
minuten = "0" + minuten;
}
if (sekunden < 10) {
sekunden = "0" + sekunden;
}
document.getElementById("svghours").innerHTML = stunden;
document.getElementById("svgminutes").innerHTML = minuten;
document.getElementById("svgseconds").innerHTML = sekunden;
setTimeout('countdown()', 200);
} else {}
}
countdown();

提前致谢,圣诞快乐

最佳答案

在你的setTimeout中去掉倒计时中的引号和括号

这个

setTimeout('countdown()', 200);

应该

setTimeout(countdown, 200);

此外,您无法访问 SVG 元素的 innerHTML,因此您必须使用 textContent:

这个

document.getElementById("svghours").innerHTML = stunden;

应该

document.getElementById("svghours").textContent = stunden;

在 IE 中检查这个 fiddle ,它有效 http://jsfiddle.net/4jdudnb1/5/

关于Javascript 倒计时器在 Safari 或 IE 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27626856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com