Vis.js фокусируется на текущем времени (красная линия)

Как изменить временную шкалу Vis.js, чтобы она всегда фокусировалась на тикере текущего времени (красная линия), чтобы я знал, что происходит сейчас на временной шкале. В зависимости от того, насколько далеко или какой у меня уровень масштабирования, временная шкала должна перемещаться влево или вправо и фокусироваться на текущем тикере.

Я имею в виду два варианта: либо у меня запущен setInterval(), который обновляется и фокусируется на текущем времени каждые 15 минут, либо есть кнопка на странице, которая будет делать это вручную.

Из моих исследований я обнаружил, что это связано с кнопкой и, очевидно, еще не работает:

document.getElementById('focusNow').onclick = function() {
      timeline.focus(timeline.currentTime.bar)
          };

1 ответ

Решение

Я знаю, что это старый вопрос, но я смог решить его так:

var refresh = 10000;
timeline = new vis.Timeline(container, data, options);

function updateTimeline(refresh) {
    setTimeout(function(){
        var current = new Date();
        timeline.moveTo(current);
        updateTimeline(refresh)
    }, refresh);
}
updateTimeline(refresh);

Функция updateTimeline запускается каждые 10 секунд и перемещает временную шкалу так, чтобы текущее время центрировалось (используя функцию moveTo()), сохраняя, таким образом, красную линию по центру. Как только мой проект будет завершен, я обновлю его ссылкой GitHub.

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