我发现一个有趣的现象,欢迎广大朋有来一起讨论,谁来解释啊!!!

来源:8-6 取消计时器clearTimeout()

吾爱吾师

2015-11-30 20:16

现象:

当连续点击“Start”按钮时候,计时速度会加快,连续点击的越多计时就越快;之后再连续点击“Stop”按钮,计时速度就会慢慢减慢下来,直到停止下来为止。

我的理解是:

点击一次“Start”按钮,就触发一次“startCount”事件。连续多次点击“Start”按钮,就触发多个“startCount”事件。由于触发的是多个事件,造成文本框显示的值一会儿是这个事件显示的值,一会儿又是那个事件显示的值,再一会儿就是别的事件显示的值,由于事件是连续点击触发的,不在同一个时间点,不是同一时间触发的,所以看起来计时像是加快了很多,实际上每个事件还是每隔1s才出发的,这是我对点击"Start"按钮的理解。

对于连续点击“Stop”按钮,我却有点困惑和不解;连续点击“Start”按钮时,i=setTimeout("startCount()",1000)中 i 的值不是被连续多次点击“Start”按钮触发的事件一次又一次地覆盖掉吗?那即使是连续点击“Stop”按钮,也只能是将最后一次点击"Start"按钮触发事件时所返回的ID值才能被取消计时器啊?怎么连续点击“Stop”按钮后,就可以停止及时了呢?难道是每点击一次"Start"按钮触发一次事件,i就储存一个ID值,连续多次点击“Start”按钮,i中就有多个值?可是i不就是一个变量而已嘛?


写回答 关注

3回答

  • jikaiyang
    2016-01-04 17:03:20

    我觉得是多少个start对应多少个stop,一一对应。

  • Im陳小旭
    2015-12-15 15:35:44

    每次点击的i是不同的,你可以alert试试,关闭当然也是对应id关闭的

  • qq_西瓜汁_0
    2015-12-04 09:12:31

    num=num+1

    吾爱吾师

    什么意思?看完我的话

    2015-12-05 20:03:54

    共 1 条回复 >

JavaScript进阶篇

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

468868 学习 · 22582 问题

查看课程

相似问题