<!DOCTYPE html>
<html>
<head>
<title>浏览器对象</title>
<meta http-equiv="Content-Type" content="text/html; charset=gkb"/>
</head>
<body>
<!--先编写好网页布局-->
<strong>操作成功</strong>
<br>
<nobr> <span id='time'>5</span> </nobr> <span>秒后回到主页</span>
<a href='javascript:back()'>返回</a>
<script type="text/javascript">
//获取显示秒数的元素,通过定时器来更改秒数。
var time=document.getElementById('time').innerHTML;
setTimeout("changeTime()",1000);
function changeTime(){
if(time==0){
back();
}
time--;
document.getElementById('time').innerHTML=time;
setTimeout("changeTime()",1000);
}
//通过window的location和history对象来控制网页的跳转。
function back(){
clearTimeout();
window.history.back();
}
</script>
</body>
</html>
把你的代码敲进去试了试!!找到原因啦!
应该只在函数外使用setInterval("changeTime()",1000);而不是在函数外使用setTimeout("changeTime()",1000);
因为使用setTimeout只会延迟一次,即只能从5数到4。
另外函数内不需要写计时函数。
隔热板认为setTimeout("changeTime()",1000);这句话应该放在外面。
<meta charset="utf-8"> 试试,如果是js的话,打开调试器,看看报错,是什么原因
你的这个原因可能还是函数声明和调用顺序的问题
我建议你,
先声明,后调用。把第一个settimeout放到倒计时函数的后面。因为,HTML页面是按照从上到下的顺序解析文档的。你的settimeout写在前面,而你调用的函数在它调用前根本没有声明,如果你打开调试器,因该会报错,changeTime is undefined。
个人意见试试看