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

请问这段代码问题出现在哪里呢。检查了几次都发现不了问题

请问这段代码问题出现在哪里呢。检查了几次都发现不了问题

朝花bu夕拾 2016-08-17 13:22:28
<!DOCTYPE html><html> <head>  <title>浏览器对象</title>    <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>    </head> <body>  <!--先编写好网页布局-->  <h2>操作成功</h2>  <span id="toy"></span>秒后返回主页<a href="#">返回</a>   <script type="text/javascript">   var time=5; function box() { document.getElementById("toy").innerHTML=time;    time=time-1;   if(time==0){       alert("该跳转了")      break;   }     }   //获取显示秒数的元素,通过定时器来更改秒数。   //通过window的location和history对象来控制网页的跳转。  setTimeout("box()",1000) </script> </body></html>请问这段代码问题出现在哪里?检查了几次都发现不了为何不能正常获取
查看完整描述

2 回答

已采纳
?
stone310

TA贡献361条经验 获得超191个赞

主要就是2个问题,计时器问题还有break,改了的地方都注释了

<script type="text/javascript">
    var time=5;
    var clock;
    function box()
    {
        document.getElementById("toy").innerHTML=time;
        if(time==0){
            alert("该跳转了");
           // break;           //if判断不能直接用break,可以在外面镶套while,switch,for或直接用while,switch,for,而且这里用break的意思也不对,不需要跳出判断,而是要停止计时
           clearInterval(clock);    //停止计时器,数字不再跳动
        };
        time=time-1;             //放到判断后面,数字显示到0;放到前面就先为0,然后再判断,就始终显示1
    };
    clock=setInterval("box()",1000);    //setTimeout是延时执行,只执行一次,setInterval是循环
</script>


查看完整回答
1 反对 回复 2016-08-17
?
qq_非诚勿扰_3

TA贡献37条经验 获得超16个赞

  setTimeout("box()",1000)是延时而不是循环,只执行一次

查看完整回答
反对 回复 2016-08-17
  • 2 回答
  • 0 关注
  • 1389 浏览
慕课专栏
更多

添加回答

举报

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