我發現一個有趣的現象,歡迎廣大朋有來一起討論,誰來解釋?。。?!
現象:
當連續點擊“Start”按鈕時候,計時速度會加快,連續點擊的越多計時就越快;之后再連續點擊“Stop”按鈕,計時速度就會慢慢減慢下來,直到停止下來為止。
我的理解是:
點擊一次“Start”按鈕,就觸發一次“startCount”事件。連續多次點擊“Start”按鈕,就觸發多個“startCount”事件。由于觸發的是多個事件,造成文本框顯示的值一會兒是這個事件顯示的值,一會兒又是那個事件顯示的值,再一會兒就是別的事件顯示的值,由于事件是連續點擊觸發的,不在同一個時間點,不是同一時間觸發的,所以看起來計時像是加快了很多,實際上每個事件還是每隔1s才出發的,這是我對點擊"Start"按鈕的理解。
對于連續點擊“Stop”按鈕,我卻有點困惑和不解;連續點擊“Start”按鈕時,i=setTimeout("startCount()",1000)中 i 的值不是被連續多次點擊“Start”按鈕觸發的事件一次又一次地覆蓋掉嗎?那即使是連續點擊“Stop”按鈕,也只能是將最后一次點擊"Start"按鈕觸發事件時所返回的ID值才能被取消計時器?。吭趺?span>連續點擊“Stop”按鈕后,就可以停止及時了呢?難道是每點擊一次"Start"按鈕觸發一次事件,i就儲存一個ID值,連續多次點擊“Start”按鈕,i中就有多個值?可是i不就是一個變量而已嘛?
2016-01-04
我覺得是多少個start對應多少個stop,一一對應。
2015-12-15
每次點擊的i是不同的,你可以alert試試,關閉當然也是對應id關閉的
2015-12-04
num=num+1