2017-02-03 81 views
0

我是新来的js,从官方网站直接复制,代码:Highcharts实时数据更新不工作

<html> 

<head> 
<title>Charts using Socket.io and Highcharts</title> 
<script src="https://code.highcharts.com/stock/highstock.js"></script> 
<script src="https://code.highcharts.com/stock/modules/exporting.js"> </script> 
<script> 
    $(function() { 

     Highcharts.setOptions({ 
      global: { 
       useUTC: false 
      } 
     }); 

     // Create the chart 
     Highcharts.stockChart('container', { 
      chart: { 
       events: { 
        load: function() { 

         // set up the updating of the chart each second 
         var series = this.series[0]; 
         setInterval(function() { 
          var x = (new Date()).getTime(), // current time 
           y = Math.round(Math.random() * 100); 
          series.addPoint([x, y], true, true); 
         }, 1000); 
        } 
       } 
      }, 

      rangeSelector: { 
       buttons: [{ 
        count: 1, 
        type: 'minute', 
        text: '1M' 
       }, { 
        count: 5, 
        type: 'minute', 
        text: '5M' 
       }, { 
        type: 'all', 
        text: 'All' 
       }], 
       inputEnabled: false, 
       selected: 0 
      }, 

      title: { 
       text: 'Live random data' 
      }, 

      exporting: { 
       enabled: false 
      }, 

      series: [{ 
       name: 'Random data', 
       data: (function() { 
        // generate an array of random data 
        var data = [], 
         time = (new Date()).getTime(), 
         i; 

        for (i = -999; i <= 0; i += 1) { 
         data.push([ 
          time + i * 1000, 
          Math.round(Math.random() * 100) 
         ]); 
        } 
        return data; 
       }()) 
      }] 
     }); 

    }); 
    </script> 
</head> 

<body> 
    <div id="container" style="height: 400px; min-width: 310px"></div> 
</body> 

</html> 

控制台告诉我,“$”没有定义,我试图让摆脱'功能',得到高热错误#13。我在nodejs上运行它,代码位于index.html文件中,没有其他js文件。

+0

你添加了jQuery库吗? – imudin07

回答

0

您当前的脚本标记之前补充一点:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 

检查:

https://jsfiddle.net/basmLukr/

注:$(function() {..}是文档准备好事件jQuery的简短的表达方式,所以首先你需要包括jQuery。我认为Highcharts创建/更新应该在页面加载后调用,这就是为什么当你摆脱$(function() {..}这是“页面加载”功能时它不起作用。

+0

应该是:'在你当前的脚本标签之前加上这个:) :) –

+0

是的谢谢,我会更新:) – imudin07

+0

伙计们,谢谢你的耐心等待新手!我已经解决了这个问题。 – zb1872