为了账号安全,请及时绑定邮箱和手机立即绑定

setInterval()的问题

setInterval()的问题

慕小庄 2016-07-21 22:34:16
<!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
})

是匿名函数,没有函数名的

查看完整回答
3 反对 回复 2016-07-21
?
肥仔汇

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>


查看完整回答
1 反对 回复 2016-07-21
?
o0隐形人0o

TA贡献22条经验 获得超10个赞

setInterval(show1,1000);

setInterval(“show1()”,1000);

给你两种写法


查看完整回答
反对 回复 2016-07-21
?
ahao430

TA贡献35条经验 获得超41个赞

setInterval(time,1000)

查看完整回答
反对 回复 2016-07-21
?
慕小庄

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>

问题代码

查看完整回答
反对 回复 2016-07-21
  • 5 回答
  • 0 关注
  • 2026 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信