Allina,
Сообщение от Allina
|
Хочу сделать так чтобы 5 минут работал, 15 минут “отдыхал”
Пыталась использовать Sleep(), но ничего не получилось.
|
Вот приблизительно так можно это сделать:
Код:
|
<html>
<head>
<script type="text/javascript">
var последнее_Измерение_Времени = Number(new Date());
var сообщение = 'первое сообщение'; //Остальные сообщения будут выдаваться
//только при нажатии кнопки "Добавить сообщение" и только во время работы
function пять_Минут_Работать()
{
//1 секунда = 1000 миллисекунд, отсюда 5 минут = 5 * 60 * 1000 = 300000
if(Number(new Date()) - последнее_Измерение_Времени <= 300000)
{
if(сообщение != '')
{
//что-то делает:
console.log(сообщение);
//сообщение выдано и поэтому его можно больше не выдавать:
сообщение = '';
}
//вызывает саму себя через 100 миллисекунд
setTimeout(пять_Минут_Работать, 100);
}
else
{
последнее_Измерение_Времени = Number(new Date());
console.log('5 минут работал. Пора бы теперь 15 минут и отдохнуть...');
пятнадцать_Минут_Отдыхать()
}
}
function пятнадцать_Минут_Отдыхать()
{
//1 секунда = 1000 миллисекунд, отсюда 5 минут = 15 * 60 * 1000 = 900000
if(Number(new Date()) - последнее_Измерение_Времени <= 900000)
{
//здесь при "отдыхе" можно что-то делать:
//будет писать в console каждые 5000 миллисекунд (5 секунд)
//'Отдыхаю...' в течение 15 минут
console.log('Отдыхаю...');
//вызывает саму себя через 5 секунд
setTimeout(пятнадцать_Минут_Отдыхать, 5000);
}
else
{
последнее_Измерение_Времени = Number(new Date());
console.log('15 минут отдохнул. Пора бы теперь 5 минут и поработать...');
пять_Минут_Работать()
}
}
//ЗАПУСКАЕМ:
пять_Минут_Работать();
</script>
</head><body>
<input type="button" value="Добавить сообщение" onclick="сообщение = new Date()">
</body></html> |
Я не советую начинать изучение JavaScript через JQuery или других библиотек, иначе уровень знаний будет слишком низким.
Для новичка я советую начинать с основ:
Эти 2 книги выпущены
Netscape - создателями Javascript. Очень советую прочитать!
Как работают setTimeout и setInterval: