为什么到了0之后还是会自减

来源:8-17 编程练习

李逍遥lh

2016-08-15 10:27

<!DOCTYPE html>

<html>

 <head>

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

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

 </head>

 <body>

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

  <p>操作成功</p>

  <p><span id="back">5秒回到页面&nbsp;</span>

    <a style="text-decoration:underline ">返回</a></p>


 

  <script type="text/javascript">  

 


   //获取显示秒数的元素,通过定时器来更改秒数。

    var aaa=document.getElementById("back");

    var bbb=5;

    function con()

    {

         bbb--;

         aaa.innerHTML=bbb+"秒后回到页面";  


    }

    var i=setInterval("con()",1000);


    if(bbb==0)

    {

      clearInterval(i);

      

    }


 

 

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

   

 </script> 

</body>

</html>


写回答 关注

5回答

  • 肖小波
    2016-08-15 17:30:38
    已采纳

    回复 李逍遥lh:        <script type="text/javascript">
                //获取显示秒数的元素,通过定时器来更改秒数。
                var aaa = document.getElementById("back");
                var bbb = 5;
                    var i = setInterval("con()", 1000);
                function con() {
                    aaa.innerHTML = bbb + "秒后回到页面";
                    if(bbb == 0) {clearInterval(i);}bbb--;}
                //通过window的location和history对象来控制网页的跳转。
            </script>
    失误了,要把判断函数放在循环里面,这样就可以了

    qq_mia... 回复李逍遥lh

    这样就是实现location实现页面跳转

    2016-08-16 23:59:46

    共 3 条回复 >

  • 肖小波
    2016-08-15 14:51:04

    if(bbb==0)

        {

          clearInterval(i);

        }else{

          setInterval("con()",1000);

       }

    就行了,你要把定时器放在判断语句里面,否则的话定时器无限循环,根本不会执行判断(bbb==0)


    李逍遥lh

    还是没用啊

    2016-08-15 16:19:33

    共 1 条回复 >

  • 小狗会飞
    2016-08-15 12:27:38

    bbb=0时,setTimeout()停止,接着function函数继续执行,bbb=-1,setTimeout()继续显示时间,接着……

    小狗会飞 回复李逍遥lh

    clear只是停止了计时器啊,function继续执行并没有一点影响

    2016-08-15 16:26:40

    共 2 条回复 >

  • 慕仔5984530
    2016-08-15 11:39:52

    我觉得你只是停止计时器了,那个con方法还会执行,还会--

    李逍遥lh

    计时器取消了那怎么还会按照每秒递减而不是每3秒递减

    2016-08-15 16:21:05

    共 1 条回复 >

  • qq_就不告诉你_03636250
    2016-08-15 11:28:43

     感觉没毛病啊


    李逍遥lh

    我现在明白了,因为判断只执行了一次

    2016-08-16 10:14:40

    共 1 条回复 >

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题