猿问

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

<!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>

请问这段代码问题出现在哪里?检查了几次都发现不了为何不能正常获取

朝花bu夕拾
浏览 1395回答 2
2回答

stone310

主要就是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>

qq_非诚勿扰_3

  setTimeout("box()",1000)是延时而不是循环,只执行一次
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答