<!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
提交
取消
