0
我正在使用Date()
對象來製作鬧鐘。我試圖製作鬧鐘。當日期對象的時間到達用戶設置的時間時,我想要執行一個函數。JavaScript中的基於時間輪詢
用戶通過選擇特定時間來設置鬧鐘。我卡住的地方是我想要輪詢直到用戶選擇的時間等於系統時間。我試着用setTimeout()
但得到RangeError: Maximum call stack size exceeded
function showTime(){
var e = document.getElementById("hourSelect");
var hour = e.options[e.selectedIndex].value;
var e1 = document.getElementById("autoDropDown");
var minuteSelected = e1.options[e1.selectedIndex].value;
var e2 = document.getElementById("amPmSelect");
var AMPM = e2.options[e2.selectedIndex].value;
}
因此,這就是我得到我的鬧鐘時間。所以,我應該使用什麼來檢查,如果這個時間等於系統時間(這是我獲得的使用Date()
對象
var today = new Date();
var hours = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
var suffix = (hours >= 12)? 'pm' : 'am'; //converting military time to non-military time.
hours = (hours > 12)? hours -12 : hours;
hours = (hours == '00')? 12 : hours;
m = checkTime(m);
s = checkTime(s);
PS:我照顧了數據不匹配的,轉換的時間爲一個號碼,也轉換一切。正常的時間,而不是軍事的時間。
你能告訴我們嗎你在哪裏執行'setTimeout'函數? – Trucy
'
\t \t \t' – CoderSenju