0

我写了这个倒数计时器,它适用于除 IE 之外的所有东西。我通过运行脚本获得了受限制的网站。但是当我单击它是 ok 时,脚本不会运行。

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

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

<!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>
4

1 回答 1

0

感谢 Naren 对 IE9 工作的评论。

我追踪到使用Date.now()

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

如果我只是这样做

new Date().getTime(); 

IE8 处理这个问题。

于 2012-04-10T22:01:40.007 回答