Рандомный background от времени суток

231
11 декабря 2017, 17:05

Привет! У меня есть такой код JS:

var randomBackground = []; // Настраиваем рандомные background`ы для шапки
var time_unix = $.now(); // Текущее время в формате Unix
var dt = new Date(time_unix);
var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds(); // Текущее время в формате HH.MM.SS
$(document).ready(function() {
    if (time >= '7:00:00' && time <= '12:00:00') {
        randomBackground = ['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg', '7.jpg', '8.jpg', '9.jpg'];
        $("header-content-block").css('background-image', 'url(/templates/default/img/backgrounds/' + randomBackground[Math.floor(Math.random() * randomBackground.length)] + ')');
    }
});

Если делать обычную проверку с alert, работает ли условие time >= '7:00:00' - то выводит false.

Как быть?

Answer 1

Вы сравниваете две строки, вероятнее всего строки в JS сравниваются по длине. Так делать не нужно, если вы хотите сравнивать время.

Нет необходимости использовать обертку над new Date(). $.now() избыточная функция.

Если вам нужно сравнивать часы, просто сравнивайте часы.

var time = new Date();
$(document).ready(function() {
    var hours = time.getHours();
    if (7 <= hours && hours <= 12) {
        // Делайте все что нужно
    }
});
READ ALSO
Javasript баг со временем?

Javasript баг со временем?

Особого смысла объяснять код не вижуДело в том как этот код работает

245
Коллаж с помощью canvas

Коллаж с помощью canvas

Нужно создать место на сайте, в которое можно претаскивать изображения, менять их размеры и перемещать по этой областиСлышал, что можно подобное...

272
Многоуровневое вертикальное меню

Многоуровневое вертикальное меню

Всем привет! У меня появилась задача сделать вертикальное многоуровневое меню (для мобильной версии сайта)Возникла проблема с отображением...

296
Последовательное выполнение js функции

Последовательное выполнение js функции

ПриветствуюПрошу сразу не пинать, я в js полный ноль но задачу надо решить, с вашей помощью будет быстрее

268