2017-02-03 2 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