我正在尝试实现一个脚本,该脚本基本上从 30 秒倒计时到 0,并在 0 时重定向到主页。但是,我注意到我的脚本仅适用于 Firefox,但不适用于 Chrome 和 Safari。在这些浏览器上,计数器在 30 秒时仍然“卡住”——从不刷新 HTML,但重定向工作正常。不确定我是否做错了什么,或者 setInterval 是否不是这种事情的正确方法。
<script>
var seconds = 31;
var counter = setInterval("timer()", 1000);
function timer() {
seconds = seconds - 1;
if (seconds < 0) {
setTimeout("location.href='http://www.homepage.com';", 100);
return;
}
updateTimer();
}
function updateTimer() {
document.getElementById('timer').innerHTML = "Redirecting in " + " " + seconds + " " + "seconds";
}
</script>
提前致谢!
编辑:太奇怪了,我的代码(以及你所有的代码)都在 JSFiddle 上工作,但它只是在实际呈现页面时未能“重新绘制”HTMLinner。秒数变化很好(我将它们输出到控制台),只是没有呈现变化。
最终编辑:这个问题基本上是由无效的 CSS 引起的。我相信 - 计数器在照片上方运行,我将跨度设置为具有更高 z-index 和顶部和底部元素的相对定位。我不相信这对于不是块的东西是可以接受的。