2017-06-30 34 views
0

我成功地將圖例創建爲div外部,但是當點擊圖例外部沒有事件在圖表上顯示/隱藏系列時。將圖例餅圖highchart自定義爲標記div

我覺得在功能事件/負載問題,但我還沒有修復。

 events: { 
      load: function() { 
       var chart = this; 
       $(chart.series[0].data).each(function (i, serie) { 
        $('<li style="color: ' + serie.color + '">' + serie.name + '</li>').click(function() { 
         serie.visible ? serie.hide() : serie.show(); 
        }).appendTo('#legend'); 
       }); 
      } 
     } 

這是我的jsfiddle:http://jsfiddle.net/hoanghoang3009/oepyvgtf/

謝謝!

回答

1

使用setVisible

Forked fiddle

events: { 
      load: function() { 
       var chart = this; 
       $(chart.series[0].data).each(function (i, serie) { 
       //console.log(serie) 
        $('<li style="color: ' + serie.color + '">' + serie.name + '</li>').click(function() { 
         serie.visible ? serie.setVisible(false) : serie.setVisible(true); 
        }).appendTo('#legend'); 
       }); 
      } 
     } 
+0

這對我來說很好的回答。我讀了關於setVisible(boolean)和series.show()和series.hide()的文檔,根據我的理解,它看起來相同,但爲什麼使用setVisible()是正確的,另一個是不正確的? – Hoang

+1

在控制檯日誌錯誤說'serie.hide不是一個函數,因爲它是在您的文章動態和'可見'是每個系列的屬性,所以setVisible在我的文章中工作 –