2016-04-12 7 views
1

ハイストックasync data loading exampleを考えてみましょう。私はプレビューを隠し、スクロールバーだけを表示したい。だから私は、チャートの設定でfalseenabledを設定します。非同期読み込みで非表示のナビゲータを使用する方法をハイスタンバイ

navigator: { 
    enabled: false, 
    adaptToUpdatedData: false, 
    ... 

これが説明したように動作しないadaptToUpdatedDataオプションの原因となります、つまり、スクロールバーの幅をズームするときは、常に100%になります。プレビューを隠しながら、デモの同じ動作を維持することは可能ですか?

答えて

2

無効にするのではなく、ナビゲータのすべての要素を視覚的に隠すことができます。例えば

JSFiddle):あなたは、ハンドルのようになりどこにカーソルがまだ変化していることに気づくかもしれません

$('#container').highcharts('StockChart', { 
    navigator : { 
     adaptToUpdatedData: false, 
     height: 0, 
     handles: { 
      backgroundColor: 'transparent', 
      borderColor: 'transparent' 
     }, 
     series : { 
      data : data 
     }, 
     xAxis: { 
      labels: { 
       enabled: false 
      } 
     } 
    } 
    // ... 
}); 

。これを取り除きたい場合は、ハンドルの描画を一括して防ぐことができます。例えば

JSFiddle):

(function (H) { 
    H.wrap(H.Scroller.prototype, 'drawHandle', function (proceed, x, index) { 
    }); 
}(Highcharts)); 

$('#container').highcharts('StockChart', { 
    navigator : { 
     adaptToUpdatedData: false, 
     height: 0, 
     series : { 
      data : data 
     }, 
     xAxis: { 
      labels: { 
       enabled: false 
      } 
     } 
    } 
    // ... 
}); 
+0

このソリューションは素晴らしいですし、私の問題を解決します。 Highstocksの混乱している動作を実際に説明していないので、それを受け入れられたものとしてマークするかどうかはわかりません。 – guidoman

+0

誰かにとって役立つかもしれない追加情報:私はすべてのグラフのナビゲータを隠すわけではありませんが、一部では条件付きでしか表示しません。だから、ラッパー関数では、次のようなことをします: 'if(shouldShowNavigator(this.chart)){proceed.apply(this、Array.prototype.slice.call(arguments、1)); } ' – guidoman

関連する問題