Я пытаюсь создать страницу, которая принимает текущие часы и минуты из модуля даты javascript, а затем делает фоновый цвет уникальным на основе этой информации.
что нужно изменить, чтобы получить html, понравившийся javascript? (новичок в этом, если вы не можете сказать).
HTML
<html>
<head>
<meta charset="UTF-8">
<title>New color for each minute of day</title>
</head>
<body id="body">
<script src="script.js"></script>
</body>
</html>
JAVASCRIPT
var body = document.getElementById("body");
var a = 0;
var b = 0;
var c = 0;
function currentTime() {
var today = new Date();
var hour = today.getHours();
var minute = today.getMinutes();
minute = formatTime(minute);
text.innerHTML = hour + ":" + minute;
return minute
}
function changeColor() {
for (minute =< 59; a + 1);
for (hour =< 24; b + 10);
}
function setScene() {
timeValue = currentTime();
}
window.addEventListener("load", initialScene, false);
document.body.style.backgroundColor= 'rgb(' + a + ',' + b + ',' + c + ')';
Опустите CSS (тег стиля) в первом примере и просто используйте простой JS.
document.getElementsByTagName("body")[0].style.background="rgb("+a+", "+b+", "+c+");";
должен это сделать
Это главная проблема. Кроме того, в вашей функции changeColor вы не используете цикл for правильно, хотя у вас есть правильная идея.
for (minute=0;minute<=59;minute+=1) {
a=minute;
}
for (hour=0;hour=<24;hour+=10) {
b=hour;
}
для циклов может быть запутанным предметом для новичков JS, но есть несколько отличных обучающих онлайн. Сделайте Google Search и действительно потратите время, чтобы узнать, что делает цикл for когда-нибудь, это хорошо, что нужно знать.
PS Я не вижу, где c определено.
changeColor
.
Я думаю, вы просите меняющийся фон на каждую минуту дня. Вам нужно определить повторяющуюся функцию, которая считывает время и изменяет цвет. У вас это как setScene
.
Теперь вы можете вызывать его каждые 60 секунд автоматически, вставляя следующее где-то внутри initialScene
:
setInterval(setScene, 60000);
text
будет внутриcurrentTime
?