Я хочу вызвать функцию javascript, когда время дойдет, скажем, до 3:00 вечера.Как вызвать функцию, когда время достигает определенного времени
Время будет назначено динамически. Так есть ли какая-либо функция javascript для достижения этого?
Я хочу вызвать функцию javascript, когда время дойдет, скажем, до 3:00 вечера.Как вызвать функцию, когда время достигает определенного времени
Время будет назначено динамически. Так есть ли какая-либо функция javascript для достижения этого?
Вам просто нужно рассчитать разницу между текущим временем и целевым временем и использовать setTimeout()
с этим значением.
Например, в зависимости от того, как ваши целевые браузеры анализировать даты, вы можете сделать следующее:
function alert3pm() {
alert("It's 3PM!");
}
var timeAt3pm = new Date("1/31/2011 03:00:00 PM").getTime()
, timeNow = new Date().getTime()
, offsetMillis = timeAt3pm - timeNow;
setTimeout(alert3pm, offsetMillis);
Или, скорее, instaed разбора дату (так как это действительно несовместимыми между браузерами) вы можете сделать что-то вроде это:
function getTimeAtHour(hour) {
var t = new Date();
t.setHours(hour);
t.setMinutes(0);
t.setSeconds(0);
t.setMilliseconds(0);
return t;
}
Для этого не требуется никакого расчета разницы, нет никакого периода времени. –
Конечно, есть, setTimeout занимает период времени для ожидания (в мс), и этот период времени должен быть разницей между теперь и временем «тревоги». – maerics
Необычный синтаксис для объявления функции - возможно, например, с использованием более стандартной функции alert3pm() {} 'может быть понятнее? – Basic
.setTimeout(function(){
//ur logic here
},time)
Вы хотите trigge r это точно в 3:00 вечера, или проверить через определенные интервалы, если 3:00 вечера прошло? –
Скажите, что я хочу вызвать функцию ровно в 3 часа дня каждый день .. что-то вроде тревоги. (Хотя, время будет назначено динамически позже) – ptamzz