繁体   English   中英

Javascript 中的倒数计时器无法在 Inte.net Explorer 中运行

[英]Countdown Timer in Javascript won't run in Internet Explorer

我写了这个倒数计时器,它适用于除 IE 之外的所有软件。 我通过运行脚本获得受限网站。 但是当我点击它没问题时,脚本不会运行。

是否有正确的方法来设置 javascript 脚本以在用户暂停后运行? 或者有没有办法编写它以便它也适用于 IE。

我没有通过 innerHTML 发送任何东西,因为代码只是数字,所以我不认为这是问题所在,我使用 jQuery.html() function 重写了它,结果相同......

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JQuery Countdowwn Timer</title>
<style type="text/css">
span#days {   font-size:20px;
                color:#900;
                  font-weight:900;

}
span#hours {   font-size:20px;
                color:#903;
                font-weight:900;
}
span#min {   font-size:20px;
                color:#906;
                font-weight:900;
}
span#sec {   font-size:20px;
                color:#909;
                font-weight:900;
}
span#date {font-size:22px;
font-weight:900;
                color:#900;


}

span#mar {font-size:22px;
font-weight:900;
color:#03F;}

</style>
<script type="text/javascript">
function theTimer(){

var putday=document.getElementById("days");
var puthour=document.getElementById("hours");
var putmin =document.getElementById("min");
var putsec=document.getElementById("sec");

var marathon=new Date(2012,3,22,10,0,0,0);
var marathonCount=marathon.getTime();
var nowish=Date.now();
var dif=marathonCount-nowish;

var days=Math.floor(dif/(24*60*60*1000));
dif=dif-days*(24*60*60*1000);
var hours=Math.floor(dif/(60*60*1000)); 
dif=dif-hours*(60*60*1000);
var minutes=Math.floor(dif/(60*1000));
dif=dif-minutes*(60*1000);
var seconds=Math.floor(dif/1000);

putday.innerHTML="this stuffF"; 
putday.innerHTML=days;
puthour.innerHTML=hours;
putmin.innerHTML=minutes;
putsec.innerHTML=seconds;

var counter = setTimeout("theTimer()", 1000) };
</script>
</head>

<body onload="theTimer()">
<a href ="" style="text-decoration:none">
<center>
<p id="marathon">There are <span id="days"></span> days, <span id="hours"></span> hours, <span id="min"></span> minutes, and <span id="sec"></span> seconds left </p>
</center>
<center>
<p id="marathon">till the beginning of the Next <span id="mar">Marathon</span> on <span id="date">April 22, 2012.</span></p>
</center>
</a>
</body>
</html>

感谢 Naren 对 IE9 工作的评论。

我追踪到使用Date.now()

这在 IE8(我使用的试用计算机浏览器之一)和可能更早的版本中不起作用。

如果我只是做

new Date().getTime(); 

IE8 可以解决这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM