把setInterval()里的函数单独拉出来定义,为什么5就不跳表了?是全局变量跟局部变量的问题吗?

来源:8-17 编程练习

穿越满天星

2017-01-14 16:08

<!DOCTYPE html>
<html>
 <head>
  <title>浏览器对象</title> 
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>  
 </head>
 <body>
  <H4>操作成功</H4>
  <p>
     <b id="second">5</b>秒后回到主页&nbsp;<a href="javascript:goBack();">返回</a> 
  </p>
 
<script type="text/javascript"> 
 
 var sec = document.getElementById("second");
 var i = 5;
 function goHome(){
  i--;
  sec.innerHTML = i;
  if(i==1){
   window.location.href =  "http://www.imooc.com/";
  }
 }
 var timer=setInterval("goHome()"
 ,1000);
 
  function goBack(){
 window.history.go(-1);
  } 
  </script>
 </body>
</html>

写回答 关注

2回答

  • 小白_0001
    2017-01-16 20:52:52

    可以的啊,我复制了黏贴你的代码运行后是正常跳表的!

  • 穿越满天星
    2017-01-14 16:10:13

    除了把goHome函数放在setInterval外,其他的代码都跟老师的一样

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题