2013-03-16 143 views
-1

我遇到了我的ColdFusion代碼問題。如何每兩秒循環

我想寫一些代碼,只循環每2秒。我嘗試使用cfloop並在日期或時間範圍內循環。但是這並不能解決我的問題。任何人都可以幫我解決這個問題嗎?

+0

不知道ColdFusion,JavaScript從根本上不支持在循環內延遲。您需要安排一個回調函數來定期調用。 – Potatoswatter 2013-03-16 03:30:06

+3

JavaScript有[** window.setInterval **](https://developer.mozilla.org/en/docs/DOM/window.setInterval)方法,該方法調用一個函數或重複執行代碼片段,並具有固定時間延遲每次調用該函數之間。使用它與此類似:'setInterval(function(){..},2000);' – Nope 2013-03-16 03:32:36

+0

正如@Potatoswatter所說的,你可能想要有一個內置的定時器或者一個roll-您自己的計時器功能(請參閱:http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_e-g_64.html),用於保持時間。東西檢查定時器,然後每2秒調用一次函數。該函數將完成您最初提到的循環中的所有內容。你可以把這個結構放在一個連續運行的while循環中,而一些標誌是真的。 – kermit 2013-03-16 03:36:56

回答

0

您可能正在尋找sleep功能。您可以把它稱爲CFML:

<!--- 2 second delay ---> 
    <cfset sleep(2000) /> 

或CFSCRIPT(ECMAScript中/ JavaScript的符號):

sleep(2000); 

應該有大量的睡眠實例可用。

2

你也可以使用循環來解決這個問題。所有你需要做的只是用適當的步驟寫一個索引循環,例如你可以參考這段代碼。

<cfset startTime = CreateTimeSpan(0,0,5,10)> 
    <cfset endTime = CreateTimeSpan(0,0,5,20)> 
    <cfloop from="#startTime#" to="#endTime#" index="i" step="#CreateTimeSpan(0,0,0,2)#"> 
     Hello World! <br /> 
    </cfloop>