2012-02-09 4 views
8

Voglio aggiungere e pulsante immagine su highcharts. Finora, ho creato con successo un pulsante immagine e ho allegato un evento click su di esso. Ma il problema è che l'immagine (sun.png) si trova sul lato sinistro del grafico e il pulsante dell'immagine è allineato a destra (la posizione predefinita della barra degli strumenti). Qualche correzione per questo?Highcharts: Aggiungi un pulsante immagine personalizzata

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 
     } 

    } 
} 

Inoltre, se ci sono altri metodi per aggiungere un'immagine nel grafico che hanno un evento di clic, anche questi metodi sono ben accetti.

+0

Ciao, voglio lo stesso tipo di funzionalità, dopo aver cliccato su un pulsante sul grafico voglio che lo stesso grafico sia aperto in popup. Guardando il tuo codice sembra che tu stia facendo la stessa cosa. Puoi dirmi cosa stai facendo in questa funzione popUpChart ($ (this)); per mostrarlo in pop-up. – Apparatus

+0

'$ this' in' popUpChart' fa riferimento all'istanza di highcharts. Lo uso per ottenere nuovamente le opzioni del grafico, quindi apro un popup come fancybox. E in quel popup, disegno di nuovo il grafico. – Jashwant

+0

Se non ti dispiace, puoi mostrare il tuo intero codice perché sto affrontando alcuni problemi nel farlo? – Apparatus

risposta

14

Infine, l'ho capito in questo modo. Forse aiuterà gli altri.

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

Possiamo aggiungere un altro pulsante accanto per esportare e stampare usando questo? –

+1

Sì, sicuramente. Vedere la posizione x del pulsante. '$ This.chartWidth-40'. È vicino a quei pulsanti. Puoi cambiarlo in qualsiasi cosa. – Jashwant

+0

Fondamentalmente voglio tre pulsanti lì invece di stampare ed esportare. –