<!DOCTYPE html>
<html>
<head>
<title>浏览器对象</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
h2{margin-left:20px}
p{margin-left:50px}
span{margin-left:5px;margin-right:5px;}
</style>
</head>
<body>
<!--先编写好网页布局-->
<h2>操作成功</h2>
<p>将于<span id="time">10</span>秒后返回主页或
<a href=javascript:window.history.back()>返回</a>
</p>
<script type="text/javascript">
setInterval(function time()
{
var time_1;
time_1=parseInt(document.getElementById("time").innerHTML);
if(time_1==0)
{
window.location.href="
http://www.imooc.com/
";
}
else{
time_1=time_1-1;
document.getElementById("time").innerHTML=time_1;
}
}
,1000)
//获取显示秒数的元素,通过定时器来更改秒数。
//通过window的location和history对象来控制网页的跳转。
</script>
</body>
</html> 按照老师的答案我将function嵌套在setInterval内成功了,但是为什么我以前在上面或下面重新写setInterval("time()",1000)后只能调用函数一次?
5 回答
已采纳
柠檬酸钠
TA贡献331条经验 获得超534个赞
传给setInterval的应该是一个匿名函数,所以本段有语法错误,正确的写法:
function time () { // do something } setInterval("time()",50); // 或者 setInterval(time,50);
当然你可以这么写
setInterval(function () { // do something })
是匿名函数,没有函数名的
肥仔汇
TA贡献6条经验 获得超5个赞
问题应该出在
window.setInterval(time,1000);
这里引用function不用加括号的
完整代码如下
<!DOCTYPE html> <html> <head> <title>浏览器对象</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <style type="text/css"> h2{margin-left:20px} p{margin-left:50px} span{margin-left:5px;margin-right:5px;} </style> </head> <body> <!--先编写好网页布局--> <h2>操作成功</h2> <p>将于<span id="time">10</span>秒后返回主页或 <a href=javascript:window.history.back()>返回</a> </p> <script type="text/javascript"> function time(){ var time_1; time_1=parseInt(document.getElementById("time").innerHTML); if(time_1==0) { window.location.href="http://www.imooc.com/"; } else{ time_1=time_1-1; document.getElementById("time").innerHTML=time_1; } } window.setInterval(time,1000); //获取显示秒数的元素,通过定时器来更改秒数。 //通过window的location和history对象来控制网页的跳转。 </script> </body> </html>
慕小庄
TA贡献1条经验 获得超0个赞
<!DOCTYPE html> <html> <head> <title>浏览器对象</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <style type="text/css"> h2{margin-left:20px} p{margin-left:50px} span{margin-left:5px;margin-right:5px;} </style> </head> <body> <!--先编写好网页布局--> <h2>操作成功</h2> <p>将于<span id="time">10</span>秒后返回主页或 <a href=javascript:window.history.back()>返回</a> </p> <script type="text/javascript"> setInterval(time(),1000); function time() { var time_1; time_1=parseInt(document.getElementById("time").innerHTML); if(time_1==0) { window.location.href=" http://www.imooc.com/ "; } else{ time_1=time_1-1; document.getElementById("time").innerHTML=time_1; } } //获取显示秒数的元素,通过定时器来更改秒数。 //通过window的location和history对象来控制网页的跳转。 </script> </body> </html>
问题代码
添加回答
举报
0/150
提交
取消