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

关于编程计时器的练习

为什么数字会不动的呢,到了时间它自己跳转页面,请大神解答;

<script type="text/javascript">

  var e=document.getElementById("num");  

    var num=5;  

    var id=setInterval("mid()",1000);  

    function mid(){  

        num--;  

        if(num==0){  

            window.location="http://www.imooc.com";  

            clearInterval(id);  

            return;  

        }  

        e.innerHTML=num;  

    }  

   //通过window的location和history对象来控制网页的跳转。  

   function back(){  

       window.history.back();  

   }  

</script>

</head>


<body>

 <h1>操作成功</h1>  

  <span id="num"></span>5秒后回到主页 <a href="" onclick="back()">返回</a>  

</body>

</html>


正在回答

2 回答

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>


<script type="text/javascript">

  window.onload=function(){

  var e=document.getElementById("num");  

    var num=5;  

    var id=setInterval(mid,1000);  

    function mid(){  

        num--;  

        if(num==0){  

            window.location="http://www.imooc.com";  

            clearInterval(id);  

            return;  

        }  

        e.innerHTML=num+'秒后回到主页';  

    }  

   //通过window的location和history对象来控制网页的跳转。  

   function back(){  

       window.history.back();  

   }  

  }

</script>

</head>


<body>

 <h1>操作成功</h1>  

  <span id="num">5秒后回到主页</span><a href="" onclick="back()">返回</a>  

</body>

</html>




1 回复 有任何疑惑可以回复我~

我也是新手,思考了半个小时,结果发现错误是因为你的e是null

之所以这样可能是因为在声明e变量的时候,并没有加载到下文    <span id="num"></span>  这一句

window.onload=function(){}函数包起来就好了。


但是接下来又报错mid is notdefined

我感觉也许是


var id=setInterval("mid()",1000); 


这一句格式有问题,改成

var id=setInterval(mid,1000); 

就好了


然后又有一点小问题比如你的    <span id="num"></span>5秒后回到主页

我把它弄到里面感觉好多了

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468192    人
  • 解答问题       21891    个

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

进入课程

关于编程计时器的练习

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信