2012-02-09 24 views
8

ハイチャートに画像ボタンを追加したいです。 これまでのところ、イメージボタンを作成してクリックイベントをアタッチしました。 しかし、問題は、画像(sun.png)がチャートの左側にあり、画像ボタンが右揃え(ツールバーのデフォルト位置)であることです。これに対する修正?ハイチャート:カスタム画像ボタンを追加する

exporting: { 
    buttons: { 
     popUpBtn: { 
      symbol: 'url(images/sun.png)', 
      _titleKey: 'popUpBtnTitle', 
      x: -10, 
      symbolFill: '#B5C9DF', 
      hoverSymbolFill: '#779ABF', 
      onclick: function() { 
       alert('ad'); 
       popUpChart($(this)); 
      } 
     }, 
     exportButton: { 
      enabled: false 
     }, 
     printButton: { 
      enabled: false 
     } 

    } 
} 

また、clickイベントを持つチャートに画像を追加する他の方法がある場合は、これらの方法も歓迎されます。

+0

こんにちは、グラフ上のボタンをクリックした後、同じ種類の機能が必要です。同じグラフをポップアップで開くことが必要です。あなたのコードを見ることで、同じことをしているようです。この関数で何をしているのか教えてください。popUpChart($(this));それをポップアップで表示する。 – Apparatus

+0

'popUpChart'の' $ this'はハイチャートのインスタンスを参照します。私はこれを使ってチャートのオプションをもう一度取得し、次にfancyboxのようなポップアップを開きます。そのポップアップで再びグラフを描きます。 – Jashwant

+0

あなたが気にしないなら、私はそうする際にいくつかの問題に直面しているので、コード全体を表示できますか? – Apparatus

答えて

14

最後に、私はこのように考え出しました。 他の人に役立つかもしれません。

function callback($this){ 
    var img = $this.renderer.image('images/zoom_icon.png',$this.chartWidth-40,5,40,12); 
    img.add(); 
    img.css({'cursor':'pointer'}); 
    img.attr({'title':'Pop out chart'}); 
    img.on('click',function(){ 
       // prcessing after image is clicked 
    }); 

} 

new Highcharts.Chart(charts.params,callback); 

// where charts.params is object which contains options for chart 
+0

これを使用して、エクスポートと印刷の横に別のボタンを追加できますか? –

+1

はい、間違いなく。 ボタンのx位置を参照してください。 '$ this.chartWidth-40'です。それらのボタンの隣にあります。それを何かに変更することができます。 – Jashwant

+0

基本的には、印刷とエクスポートの代わりに3つのボタンが必要です。 –

関連する問題