Просмотр полной версии : Запуск и остановка скрипта по глобальному времени
politik86
04.04.2014, 12:54
Всем добрый день! Кто подскажет - имеем некую функцию конкретно мигание елемента:
var newTxt="New text!!!";
var oldTxt=document.title;
function migalka(){
if(document.title==oldTxt){
document.title=newTxt;
}else{
document.title=oldTxt;
}
}
var timer = setInterval(migalka,800);
Как запускать ее по расписанию да еще и на конкретный промежуток времени (тоесть запуск функции каждый час - в 12.00, 13.00, и т.д ) с временем работы к примеру на 30 секунд (тоесть остановка работы скрипта в 12.00 30 сек, в 13.00 30 сек и т.д.)
VBeregovoy
11.04.2014, 11:32
setTimeout(function(){
var d = new Date(); // current time
var mins = d.getMinutes();
if(mins == '00') {
migalka();
}
}, 60000);
Каждых 60 секунд снимаем время - если время 00 - выполняем функцию migalka()
setTimeout
Каждых 60 секунд
Советы на javascript.ru - всегда качественные и профессиональные!
mins == '00'
Я конечно понимаю, что js с динамической типизацией, но зачем крутить пистолет на пальце, а потом удивляться, что прострелил себе колено?
alert( typeof (new Date).getMinutes() );
Нахер так жить?
politik86
11.04.2014, 12:11
Каждых 60 секунд снимаем время - если время 00 - выполняем функцию migalka()
Спасибо получилось - функция запускаеться
(function () {
var timerId = null;
var originTitle = document.title;
var message = "New text!!!";
var date = new Date;
date.setMinutes(0);
date.setHours(date.getHours() + 1);
// date - это ближайшее время, когда 00 минут (ну ты понел)
setTimeout(timer, date - new Date);
function timer() {
setTimeout(timer, 3600000); // 3600000 == 60 * 60 * 1000 - 1 час
startNotify();
setTimeout(stopNotify, 30000);
}
function startNotify() {
timerId = setInterval(notify, 800);
}
function stopNotify() {
clearInterval(timerId);
}
function notify() {
document.title = document.title == originTitle ? message : originTitle;
}
} ());Код не проверял - лениво было. А запускать проверку каждую секунду - это говнологика.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot