黑马程序员技术交流社区

标题: JS中设定时器调toggle()的几个问题求教 [打印本页]

作者: 真爷    时间: 2016-9-16 11:30
标题: JS中设定时器调toggle()的几个问题求教
本帖最后由 真爷 于 2016-9-16 19:44 编辑

[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script type="text/javascript"src="jquery/jquery-1.9.1.js"></script>
  <script type="text/javascript">
    $(function(){
      var time1;
      //给“#start”绑定点击事件-设置定时器
      $("#start").click(function(){
          time1=setInterval(divtoggle(),1000);
        });
/*     //此种方法只能切换一次,并不能反复切换
      function divtoggle(){
        $("div").toggle(1000);
      }
  */
      //在toggle中再次设定时器能达到反复切换效果,但是定时器清不掉
      function divtoggle(){
        $("div").toggle(1000,function(){
   //       clearInterval(time1);
          time1=setInterval(divtoggle(),1000)});
      }
      $("#stop").click(function(){
          clearInterval(time1);
        });
    });

  </script>

  <style type="text/css">
    div{
      width:300px;
      height:300px;
      background:black;
    }
  </style>
</head>
<body>
  <input type="button" value="开始"id="start"></input>
  <input type="button" value="结束"id="stop"></input>
  <div></div>
</body>
</html>

如上,
1.为何第一种调用不能反复切换?定时器和toggle()有什么冲突的地方么?
2.第二种方法该如何清掉定时器呢?

作者: 真爷    时间: 2016-9-18 21:01
顶顶顶。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2