2016-03-25 86 views
2

如何更改Vis.js時間軸,以便始終關注當前時間報警(紅線),以便我知道時間軸上正在發生的事情。取決於我有多遠或什麼樣的縮放級別,時間軸應該是PAN左或右,並關注當前時間報價器。Vis.js專注於當前時間(紅線)

我在想這裏有兩個選擇:要麼有一個setInterval()運行更新並且每隔15分鐘關注當前時間,或者在頁面上有一個手動執行該操作的按鈕。

從我的研究,我發現這個至今被捆綁到一個按鈕,顯然還沒有工作:

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

你有沒有考慮流數據的例子http://visjs.org/examples/graph2d/15_streaming_data.html – bhspencer

+0

我認爲是這樣,這是非常相似的。但是,我將如何將它應用於時間軸而不是Graph2d?我有一個vis.js時間表和時間表時間表。在任何特定的時間點,時間表應該顯示當前誰應該工作。 – summerNight

+1

Timeline和Graph2d具有相同的核心,它們有很多共同的方法。您可以將流數據示例中的renderStep函數原樣應用於時間軸,只需使用myTimeline替換graph2d。*即可。* –

回答

0

我知道這是一個老問題,但我能解決這個問題是這樣的:

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鏈接進行更新。