美文网首页
Highchart 曲线图实现点击线上数据点并跳转效果

Highchart 曲线图实现点击线上数据点并跳转效果

作者: 唐T唐X | 来源:发表于2017-01-24 16:43 被阅读723次

    先来看一张图:

    DPR6E$7RR%K2@ODXW8S9LTC.png

    用过Highchart的同学都知道,这样一张曲线图,上面的每一个点去点击的话是没有任何反应的,那我们该如何能去定义上面每一个点的点击事件呢?

    答案是在js中加入诸如下面的代码:

          series: {
              cursor: 'pointer',
              events: {
                  click: function(event) {
                      window.open("http://www.baidu.com")
                  }
              }
          }
    

    话不多说,上全代码:

    <html>
    <head>
    <meta charset="UTF-8" />
    <title>Highcharts 教程 | 菜鸟教程(runoob.com)</title>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="http://code.highcharts.com/highcharts.js"></script>
    </head>
    <body>
    <div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
    <script language="JavaScript">
    $(document).ready(function() {  
       var chart = {
          type: 'spline'      
       }; 
       var title = {
          text: 'Monthly Average Temperature'   
       };
       var subtitle = {
          text: 'Source: WorldClimate.com'
       };
       var xAxis = {
          categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
             'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
       };
       var yAxis = {
          title: {
             text: 'Temperature'
          },
          labels: {
             formatter: function () {
                return this.value + '\xB0';
             }
          },
          lineWidth: 2
       };
       var tooltip = {
          crosshairs: true,
          shared: true
       };
       var plotOptions = {
          spline: {
             marker: {
                radius: 4,
                lineColor: '#666666',
                lineWidth: 1
             }
          },
          series: {
              cursor: 'pointer',
              events: {
                  click: function(event) {
                      window.open("http://www.baidu.com")
                  }
              }
          }
       };
       var series= [{
             name: 'Tokyo',
             marker: {
                symbol: 'square'
             },
             data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, {
                y: 26.5,
                marker: {
                   symbol: 'url(http://www.highcharts.com/demo/gfx/sun.png)'
                }
             }, 23.3, 18.3, 13.9, 9.6]
          }, {
             name: 'London',
             marker: {
                symbol: 'diamond'
             },
             data: [{
                y: 3.9,
                marker: {
                   symbol: 'url(http://www.highcharts.com/demo/gfx/snow.png)'
                }
             }, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
          }
       ];      
          
       var json = {};
       json.chart = chart;
       json.title = title;
       json.subtitle = subtitle;
       json.tooltip = tooltip;
       json.xAxis = xAxis;
       json.yAxis = yAxis;  
       json.series = series;
       json.plotOptions = plotOptions;
       $('#container').highcharts(json);
      
    });
    </script>
    </body>
    </html>
    

    运行,然后再去点击每个点,是不是就跳到baidu了?

    相关文章

      网友评论

          本文标题:Highchart 曲线图实现点击线上数据点并跳转效果

          本文链接:https://www.haomeiwen.com/subject/muwzbttx.html