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.