Показать сообщение отдельно
  #3 (permalink)  
Старый 22.04.2019, 21:08
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<link rel="stylesheet" type="text/css" href="text.css"> 
		<title>Тест</title>
	</head>
	<body>
		<div class="text">Цвет</div>
<script>

var textElement = document.querySelector(".text");

function* getColors() {
	while(true) yield* [
		{ color: "red", "text": "Красный" },
		{ color: "gold", "text": "Жёлтый" },
		{ color: "green", "text": "Зелёный" },
	];
}

async function mouseOver() {
	return new Promise(resolve => textElement.onmouseover = resolve);
}

(async function main() {
	for(const { color, text } of getColors()) {
		await mouseOver();

		textElement.style.color = color;
		textElement.textContent = text;
	}
})();

</script>
</body>
</html>


Всё происходит внутри функции main. Для каждого цвета из бесконечной последовательности цветов повторять: подождать пока наведут мышь, покрасить в цвет.
Ответить с цитированием