@panikev

Как создать динамическое расписание?

Здравствуйте! Подскажите пожалуйста как на javaScript реализовать динамически отображаемое расписание? Есть массив строковых элементов со временем, хочется реализовать отображение элементов массива позднее текущего времени. На ум приходит только поочередное сравнение часов и минут с реальным... Затрудняюсь сказать, насколько это правильно... Может есть что-то более изящное? Спасибо
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
строковых элементов со временем

Их придётся преобразовать в объекты Date или лучше сразу в целые числа миллисекунд с Unix epoch. С целыми и работать потом.
var s = "2018-08-02 12:56";
var d = new Date(s); // объект Date в текущем часовом поясе браузера
+d // 1533203760000

Так составить массив с целочисленными полями:
[
  { ts: 1533203760000, title: "сварить кофе" },
  { ts: 1533203780000, title: "съесть булочку" },
]

Удалить все прошедшие.
Отобразить.

Найти ближайшее событие и зарядить setTimeout() на время до него. Раньше обновлять не имеет смысла. При добавлении/удалении событий в массив, конечно, надо всё обновлять/пересчитывать. Поэтому и значение таймера var timer = setTimeout(...) надо сохранить, чтобы иметь возможность отменить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект