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