您好我正在學習codeHS課程,其中一節課是使用Timer來爲對象設置動畫效果。所以方法是setTimer(fn,DELAY)
和stopTimer(fn)
。 fn
是應該每DELAY
時間運行的方法的名稱。我的困惑在於,我不明白爲什麼stopTimer(fn)
通過方法fn停止計時器。不應該stopTimer()方法有一個參數,該參數以創建的實際計時器對象爲目標。情況並非如此,而是stopTimer使用fn或將對象屬性定義爲參數的方法停止原始計時器。這是我的困惑所在爲什麼stopTimer()方法不會定位從setTimer創建的Timer對象
回答
正如在評論中提到的,在原生javascript中沒有setTimer
或stopTimer
。如果你爲這個計時器使用了一些框架,你需要在問題中清除它。
對於原生JavaScript,這裏是一個使用setInterval
和clearInterval
的例子。
var timer = setInterval(someFunction, 1000);
clearInterval(timer);
感謝您的回答,但您能告訴我如何使用另一種方法作爲參數來停止上述對象計時器嗎? – AnotherRandomUser
不可以。僅從函數中停止間隔計時器是不可能的。您需要分配的計時器的ID。有關詳細信息,請參見[w3schools Window clearInterval方法(http://www.w3schools.com/jsref/met_win_clearinterval.asp)。 –
@AnotherRandomUser你的老師似乎已經創建了自己的怪異版本,如果他期待你使用這些功能。我不知道你怎麼可能用一個函數停止計時器。 – Carcigenicate
- 1. 爲什麼我不能在任何方法外創建對象
- 2. 爲什麼不使用apply方法可以創建Map對象?
- 3. 爲什麼不創建一個對象?
- 4. 爲什麼以下不會自動創建的引用對象
- 5. 爲什麼singleton對象是通過類方法創建的?
- 6. 爲什麼Spring會從Singleton類創建2個對象?
- 7. struts2創建會話對象,爲什麼和什麼時候?
- 8. Eclipse不創建位置(字符串)對象。爲什麼?
- 9. 什麼是不在__init中創建對象的最佳方法__()
- 10. 爲什麼無法在對象方法之外創建對象屬性?
- 11. 爲什麼Linq預覽VS2005不會創建對象?
- 12. 爲什麼create方法不會返回帶id的對象?
- 13. 爲什麼在創建列表對象的模型中創建方法
- 14. 爲什麼要爲python對象設置綁定方法創建循環引用?
- 15. 爲什麼在創建JPanel類對象時,會自動調用paintComponent方法?
- 16. 無法在後端AppEngine實例中創建Timer類...爲什麼?
- 17. 爲什麼我們不需要爲靜態方法創建對象?
- 18. 爲什麼setTimer不起作用?
- 19. 爲什麼我的同步方法鎖定不同的對象?
- 20. 爲什麼我不能調用創建對象的公共方法?
- 21. 爲什麼對象的方法不可用於其他對象?
- 22. 減少創建新列表的方法,爲什麼不定義?
- 23. 爲什麼Orbeon會創建如此龐大的org.orbeon.oxf.cache.MemoryCacheImpl對象?
- 24. 使用數組創建的對象,無法調用它的方法!爲什麼?
- 25. 獲取或創建對象的方法的名稱是什麼?
- 26. 爲什麼要創建模擬對象?
- 27. 爲什麼絕對定位元素不服從定位準則?
- 28. 從方法創建並返回對象
- 29. 動態創建對象的正確Java方法是什麼?
- 30. 創建對象的方法有什麼區別?
我不能說我聽說過這些方法。 'set' /'clearInterval'就像你描述的那樣工作。要停止它,您將計時器ID傳遞給'clearInterval'。 – Carcigenicate
看到這恰好就是我的觀點clearInterval停止目標的計時器ID,但codehs停止方法的目標是動畫方法。如果我複製並粘貼代碼會有幫助嗎? – AnotherRandomUser
請向我們展示該Timer的代碼或鏈接其文檔。 – Bergi