У меня есть переключатель темы на моем сайте и вы хотите добавить «Автоматический» вариант, который изменяет тему на закате. На данный момент я сделал это, указав вручную вручную, но мне было интересно, можно ли на самом деле сделать это за фактическое время заката, используя что-то похожее на функцию PHP date_sunset().Изменить класс тела на фактическое время заката
var url, hour = new Date().getHours();
if (hour > 8 && hour < 17) {
$('body').removeClass().addClass('light');
} else if (hour > 17 || hour < 8) {
$('body').removeClass().addClass('dark');
}
Возможно ли это? Если да, то каким образом я могу реализовать его в коде выше?
Кроме того, если это возможно, было бы легко сказать, добавьте 60 минут к времени захода солнца, так как время заката обычно немного раньше, чем наступает темнота.
Возможно, это невозможно, но я знал, что это место будет лучшим местом для двойной проверки!
Заранее спасибо.
Я так думаю, потому что тема переключателе имеет три варианта: «Свет», «Темный» и «Автоматический», и все они выполняют изменения, а также Локальные настройки хранилища. Если бы я не использовал javascript, я бы сломал коммутатор, верно? Я бы хотел сделать это в моих существующих js, если смогу! – Joseph
Это противоречит моим существующим js, которые задают выбор темы пользователя в localstorage и обновляют класс переключателя темы до текущего. Я ценю ваш ответ, но я хотел бы заполнить это в javascript, чтобы он не конфликтует с моим переключателем тем, каким он является в настоящее время. Я просто хочу изменить код в своем первоначальном вопросе, чтобы изменить класс тела на основе заката, а не в фиксированное время, как показано. Остальная часть кода, например. ручная светло-темная тема, которую я также хотел бы оставить в javascript. – Joseph
Другое решение может отправлять метки времени заката/восхода солнца в документ и изменять класс с помощью javascript, когда фактическое время достигает одной из временных меток. – midlan