2016-03-25 34 views
2

Vis.jsのタイムラインを変更して現在のタイムティッカー(赤い線)に常に焦点を当てるようにして、タイムライン上で現在起こっていることを知る方法を教えてください。現在のズームレベルに応じて、タイムラインが左右に移動し、現在のタイムティッカーにフォーカスする必要があります。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

タイムラインとグラフ2dは同じコアを持ち、多くの方法が共通しています。このストリーミングデータの例から、renderStep関数をそのままタイムラインに適用することができます。graph2d。*をmyTimelineに置き換えるだけです。* –

答えて

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のリンクで更新します。

関連する問題