Как постоянно менять фоновое изображение / цвет в зависимости от текущего времени суток?

Я пытаюсь улучшить свой веб-сайт для проекта в моем колледже. Что именно я пытаюсь сделать, так это изменить фон в зависимости от времени. Представьте себе этот сценарий, когда цвет фона меняется на фоновое изображение с линейным градиентом в соответствии с определенным временем дня.

Пример: С 7:00 до 13:00 иметь такой фон: фон: linear-gradient (вниз, желтый 0%, красный 100%) С 13:00 до 18:00 иметь такой фон: фон: linear-gradient (вниз, # 003366 0%, # 000d1a 100%); А в остальном имейте этот фон: фон: linear-gradient (вниз, # 000d1a 0%, # 000000 100%);

Все, что у меня есть до сих пор, что могло бы помочь мне найти способ сделать это в HTML с помощью JavaScript, это следующее:

On HTML:

<script type=”text/javascript” src=”script.js”> </script>


var date=new Date();

var hour=data.getHours();

if (hour<13)
{
    alert("Good Morning!");
}
else if (hour<18)
{
    alert("Good Evening!");
}
else 
{
    alert("Good Night!");
}

(Использовал команду «предупреждение» в качестве примера того, что я мог бы в ней уместить, чтобы изменить фон, то есть команду, которую я сейчас ищу)

Я хотел бы извиниться за неправильную грамматику или каталог, или за что-то еще, что я сделал не так. Не стесняйтесь поправлять меня во всем.

Если бы кто-нибудь мог дать мне пример простого синтаксиса HTML в html с кодом javascript внутри него, а не в другом каталоге, это действительно помогло бы! В любом случае, спасибо, что нашли время помочь мне! = D

Если все пойдет так, как ожидалось, я опубликую здесь свой веб-сайт, чтобы поделиться со всеми, думаю, было бы хорошо, если бы люди увидели проекты друг друга. В проекте, над которым я сейчас работаю, я отвечаю за разработку веб-сайта, который покажет пользователю плюсы и минусы использования фотоэлектрической пластины в домашних условиях / на территории компании, а также с использованием устройства солнечного слежения. в теме. На веб-сайте мы собираемся получить результаты по всему, что с этим связано, я обязательно переведу их с португальского на английский. Хорошего дня.

Итак, вы не знаете, как использовать JS для изменения цвета фона элемента?

Justinas 18.04.2018 15:25

заменить alert на document.body.style.background = '<your favorite color here>';

baao 18.04.2018 15:26
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
244
3

Ответы 3

Вы можете использовать тайм-аут, чтобы проверить текущее время.

function VerifyTime(){

    var hour=new Date().getHours();

    if (hour<13)
    {
        alert("Good Morning!");
    }
    else if (hour<18)
    {
        alert("Good Evening!");
    }
    else 
    {
        alert("Good Night!");
    }
}

window.setTiemout(function(){VerifyTime()},<time>})

время выражается в миллисекундах: 1 секунда = 1000, я предлагаю вам проверять каждую минуту с 60000 или каждую секунду с 1000

Просто используйте классы CSS для отображения нужного фона:

<style>
.morning{
  background: morningColor;
}
.evening{
  background: eveningColor;
}
.night{
  background: nightColor;
}
</style>

Затем замените свое предупреждение, добавив соответствующий класс:

<script> 
  var hour=new Date().getHours(); // get current hour value
  var elem = document.body.getElementById(<your element id>); // you can trigger a specific element via id for example
  if (hour<13){
    elem.className += 'morning';
  }
  else if (hour<18){
    elem.className += 'evening';
  }
  else{
    elem.className += 'night';
  }
</script> 

Я думаю, это то, что вы хотите сделать:

var date = new Date();

var hour = date.getHours();

if (hour < 13) {
  alert("Good Morning!");
  document.body.classList.add('morning'); // Based on the current time, add a class to the document's body
} else if (hour < 18) {
  alert("Good Evening!");
  document.body.classList.add('evening');
} else {
  alert("Good Night!");
  document.body.classList.add('night');
}
.morning {
  background-color: lightblue;
}

.evening {
  background-color: orange;
}

.night {
  background-color: black;
}

/** These colours are just examples, style them in the way you need them to be */

Другие вопросы по теме