2016-03-01 18 views
0

您好我正在學習codeHS課程,其中一節課是使用Timer來爲對象設置動畫效果。所以方法是setTimer(fn,DELAY)stopTimer(fn)fn是應該每DELAY時間運行的方法的名稱。我的困惑在於,我不明白爲什麼stopTimer(fn)通過方法fn停止計時器。不應該stopTimer()方法有一個參數,該參數以創建的實際計時器對象爲目標。情況並非如此,而是stopTimer使用fn或將對象屬性定義爲參數的方法停止原始計時器。這是我的困惑所在爲什麼stopTimer()方法不會定位從setTimer創建的Timer對象

+0

我不能說我聽說過這些方法。 'set' /'clearInterval'就像你描述的那樣工作。要停止它,您將計時器ID傳遞給'clearInterval'。 – Carcigenicate

+0

看到這恰好就是我的觀點clearInterval停止目標的計時器ID,但codehs停止方法的目標是動畫方法。如果我複製並粘貼代碼會有幫助嗎? – AnotherRandomUser

+0

請向我們展示該Timer的代碼或鏈接其文檔。 – Bergi

回答

0

正如在評論中提到的,在原生javascript中沒有setTimerstopTimer。如果你爲這個計時器使用了一些框架,你需要在問題中清除它。

對於原生JavaScript,這裏是一個使用setIntervalclearInterval的例子。

var timer = setInterval(someFunction, 1000); 
clearInterval(timer); 

Here is a working plunker

+0

感謝您的回答,但您能告訴我如何使用另一種方法作爲參數來停止上述對象計時器嗎? – AnotherRandomUser

+0

不可以。僅從函數中停止間隔計時器是不可能的。您需要分配的計時器的ID。有關詳細信息,請參見[w3schools Window clearInterval方法(http://www.w3schools.com/jsref/met_win_clearinterval.asp)。 –

+0

@AnotherRandomUser你的老師似乎已經創建了自己的怪異版本,如果他期待你使用這些功能。我不知道你怎麼可能用一個函數停止計時器。 – Carcigenicate

相關問題