问答详情
源自:8-17 编程练习

秒数没有自动倒数 ?

<!DOCTYPE html>
<html>
 <head>
  <title>浏览器对象</title> 
  <meta http-equiv="Content-Type" content="text/html" charset="utf-8"/>  
 </head>
 <body>
  <!--先编写好网页布局-->
 <h4>操作成功</h4><br/>
 <p> <span id="count">5</span>秒后回到主页<a href="javascript:back();">返回</a></p>
  <script type="text/javascript"> 
 
  //获取显示秒数的元素,通过定时器来更改秒数。
var i=5;
function num(){
    document.getElementById("count").innerHTML=i;
    i=setTimeout("num()",1000);
    i=i-1;
    if(i==0){
        window.history.go(-1);
    }
}
  //通过window的location和history对象来控制网页的跳转。
function back(){
    window.location.assign("http://www.imooc.com");
}
 </script>
</body>
</html>


提问者:chaohua 2018-08-11 22:48

个回答

  • qq_雙葉
    2018-08-12 10:27:34
    已采纳

    emmm,本身逻辑是有点问题的,那个间歇调用不能放在函数里面,不然会一直调用函数,

    var i=5;
    function num(){    
        document.getElementById("count").innerHTML=i;    
        i=i-1;      
        if(i==0){        
            window.history.go(-1);    
                }
            } 
            setInterval("num()",1000);

    对你代码稍微做了下改进,应该OK的,不过可以不用这种方式,因为document.getElementById("count").innerHTML就已经是5了,利用自减的 方式应该好些,代码量虽然差不多,但是清晰些