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

加了个按钮后 停止键不管用了?

<title>计时器</title>

<script type="text/javascript">

   function clock(){

      var time=new Date();                

      document.getElementById("clock").value = time;

   }

   

    function a(){

    var i=setInterval(clock,100);}

</script>

</head>

<body>

  <form>

    <input type="text" id="clock" size="50"  />

  <input type="button" value="Start"  onclick="a()"/>

    <input type="button" value="Stop"  onclick="clearInterval(i)"/>


正在回答

3 回答

functon a(){}上面是不是应该设置setInterval(clock,100),也就是变量i

0 回复 有任何疑惑可以回复我~

 function a(){

    var i=setInterval(clock,100);}

    function b(){

        clearInterval(i);

    }

</script>

</head>

<body>

  <form>

    <input type="text" id="clock" size="50"  />

  <input type="button" value="Start"  onclick="a()"/>

    <input type="button" value="Stop"  onclick="b()"/>

  </form>

能帮我看看么  我这样定义了函数后 点击Stop键并没有反应,是哪里出现了问题?

1 回复 有任何疑惑可以回复我~
#1

亻亻殊途 提问者

原来是这样 如果想要在 b()函数中使用i变量的话 需要i变量在a()函数外声明才行
2016-10-09 回复 有任何疑惑可以回复我~

你都还没有为 onclick="clearInterval(i)" 里的clearInterval(i)写 JS代码,自然就点击停止键不管用;而且不要把JS 内部函数函数当做自定义的函数变量。

现在我明白你的用意了,你是认为 你在停止键那里写上 onclick="clearInterval(i)",这样就可以实现点击停止键,然后就可以停止了;但事实上是不可以的。自定义函数是自定义函数,你要想你的自定义函数能为你做些事,那你需要为你的自定义函数编码;就算你的 a()函数一样。JS内部函数是JS自己事先被实现过的函数,然后直接来给我们用的。

为了解决你的问题,你可以像 a()函数那样 为 stop键自定义个函数,然后在该自定义函数里,使用clearIntervar(id_of_setIntervar)。

希望对你有帮助。

2 回复 有任何疑惑可以回复我~
#1

亻亻殊途 提问者

明白了。但是在老师的列子里:<input type="button" value="Stop" onclick="clearInterval(i)" /> 仍然直接使用了clearInterval(i) 并且能够直接使用并没有再去自定义函数是怎么回事呢
2016-10-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

加了个按钮后 停止键不管用了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信