Показать сообщение отдельно
  #3 (permalink)  
Старый 10.06.2016, 16:29
Аватар для pureJS
Аспирант
Отправить личное сообщение для pureJS Посмотреть профиль Найти все сообщения от pureJS
 
Регистрация: 04.06.2016
Сообщений: 70

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:

Последний раз редактировалось pureJS, 10.06.2016 в 17:24.
Ответить с цитированием