2014-12-03 71 views
-1

我developped的實時跟蹤網站供我上學,在這裏你有兩個全屏圖,G1和G2。我想在顯示G2 2分鐘之前顯示G1 10分鐘。所以我猜我可以如下做到這一點: 作爲setTimeout的被立即執行它填補了堆棧(不要把語法考慮)基於時間的事件的JavaScript

hideG1(){ //the same as displayG2 
    G1.hide(); 
    G2.display(); 
    setTimeout(hideG2, 10minutes); 
} 

hideG2(){ //the same as displayG2 
    G2.hide(); 
    G1.display(); 
    setTimeout(hideG1, 2minutes); 
} 

然而,給我一個錯誤,從而抑制了代碼的其餘部分被執行。

有沒有人有解決方案?

+0

它不完全瞭解是什麼問題。這應該工作。你能添加更多真實的代碼嗎? – 2014-12-03 17:09:20

+2

2分鐘將是'setTimeout(hideG1,2 * 60 * 1000)'。 'setTimeout'的時間以毫秒爲單位。 '2分鐘'不是有效的時間值或有效的變量名稱。 – jfriend00 2014-12-03 17:10:00

+0

是10分鐘和2分鐘應該是變數?嘗試將ms轉換爲分鐘時間範圍。 – rfornal 2014-12-03 17:10:06

回答

2

2minutes不是有效的時間值或有效的變量名稱,因爲JavaScript標識符不能以數字開頭,時間必須以毫秒爲單位指定。

超時在運行2分鐘。將

setTimeout(hideG1, 2 * 60 * 1000); 

setTimeout的時間是在毫秒。


這也不清楚你的意思是.display()。如果你打算與jQuery中的.hide()相反,那麼它應該是.show()。因此,假設G1G2是jQuery的對象,那麼你可以有這樣的:

function hideG1(){ 
    G1.hide(); 
    G2.show(); 
    setTimeout(hideG2, 10 * 60 * 1000); // 10 minutes 
}; 

function hideG2(){ 
    G2.hide(); 
    G1.show(); 
    setTimeout(hideG1, 2 * 60 * 1000); // 2 minutes 
};