javascript – 懒惰的Highcharts明细

前端之家收集整理的这篇文章主要介绍了javascript – 懒惰的Highcharts明细前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
This JSFiddle demo显示了Highcharts明细的示例.单击图表中的某列时,系列将替换为与单击的列对应的向下钻取系列
drilldown: {
    series: [{
        id: 'animals',data: [
            ['Cats',4],['Dogs',2],['Cows',1],['Sheep',['Pigs',1]
        ]
    },{
        id: 'fruits',data: [
            ['Apples',['Oranges',2]
        ]
    },{
        id: 'cars',data: [
            ['Toyota',['Opel',['Volkswagen',2]
        ]
    }]
}

例如,如果单击fruits列,将显示此数据

data: [
    ['Apples',2]
]

请注意,必须预先创建所有向下钻取系列.在这种特殊情况下,只有3个向下钻系列,所以这不是一个大问题.但是,在我的情况下,大约有30个向下钻取系列,并且创建每个系列需要执行一些查询.有没有办法让钻取系列延迟加载,即仅在用户点击其中一列时请求钻取系列数据?

解决方法

对于这个级别的功能,我会继续自己创建它.使用point.events.click回调进行ajax调用并替换系列:
plotOptions: {
  series: {
    point: {
      events: {
        click: function(event) {
          var chart = this.series.chart;
          var name = this.name;
          $.ajax({
            url: name + ".json",success: function(data) {
              swapSeries(chart,name,data);
            },dataType: "json"
          });
        }
      }
    }
  }
},

swapSeries在哪里:

function swapSeries(chart,data) {
    chart.series[0].remove();
    chart.addSeries({
      data: data,name: name,colorByPoint: true
    });
  }

这是一个工作example.

猜你在找的JavaScript相关文章