我用这种方式为什么无法实现呢?

来源:8-17 编程练习

徐锦杰

2016-11-04 23:10

<!DOCTYPE html>

<html>

 <head>

  <title>浏览器对象</title>  

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

 </head>

 <body>

  <!--先编写好网页布局-->

  <h1>操作成功</h1>

  <p><span id="second"></span>秒后回到主页<a href="back()">返回</a></p>

 

 <script type="text/javascript"> 

 function back(){

 window.history.go(-1);

}

 var num=6;

 function change(){

    num--;

    document.getElementById("second").innerHTML=num;

    if(num==0)

    {

      back();

    } 

    else

    {

        setInterval("change()",1000);

    }

 }

change();

 


 </script> 

</body>

</html>


写回答 关注

3回答

  • stone310
    2016-11-05 07:01:33
    已采纳

    setInterval是循环调用,这里是每1000毫秒调用1次,放在自身循环函数内,就会第一次调用1个,第二次再加1个,就是2个,第三次....;这里用setTimeout就可以解决

    徐锦杰

    非常感谢!

    2016-11-05 14:21:13

    共 1 条回复 >

  • stone310
    2016-11-05 07:01:35

    setInterval是循环调用,这里是每1000毫秒调用1次,放在自身循环函数内,就会第一次调用1个,第二次再加1个,就是2个,第三次....;这里用setTimeout就可以解决

  • 墨鱼嬉戏
    2016-11-05 01:06:49

    不好意思研究了下不知道具体问题怎么解决,只是自己的小经验就是  setInterval("change()",1000)定时器代码不要放在函数里面。

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题