2015-10-14 3 views
0

Я пытаюсь включить highcharts на свой сайт. Но я получаю эту странную ошибку TypeError: $(...).highcharts is not a function вот мой кодHighchart не загружается

@scripts = {<script src="@routes.Assets.at("javascripts/tracknplan.js")" type="text/javascript"></script> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script><script type="text/javascript"> var user = '';</script><script src="https://code.highcharts.com/highcharts.js"></script><script src="https://code.highcharts.com/modules/exporting.js"></script>} 


<article class="app-content container-fluid" ng-app="tracknplanApp"> 


<section ng-controller="tracknplanctrl" ng-init="measurementPageInit()"> 
    <div class="row"> 
     <ol class="breadcrumb col-md-6"> 
      <li><a href="#" class="orange">Home</a></li> 
      <li><a href="#" class="orange">Track and Plan</a></li> 
      <li class="active">Measurement</li> 
     </ol> 
     <!-- <div class="col-md-6" id="calender-container"> 
      <div class="input-daterange input-group" id="datepicker2"> 
      <input class="form-control" size="16" type="text" ng-model="activityDate" ng-change="activityDateChanged()" value="" > 
      <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span> 
      </div> 
     </div> --> 
    </div> 
    <div class="row tracknplan track_n_plan noborder">  
    <!-- <div class="wrapper"> --> 

    <!-- </div> --> 
    <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div> 


    </div> 
    </section> 
    <!--End of Track and plan--> 
</article> 

И функцию инициализации для highchart является:

$scope.measurementPageInit = function(){ 

    console.log("measurement template loading"); 
    /*$scope.val1 =10; 
    angular.element("#templt").load("/partials/temp1");*/ 
    //angular.element("#graph,#collapse-graph #graph").html('<div id="chart1" style="margin-top:20px; margin-left:20px;"></div>'); 
    var data =[[1444780800,6],[1444867200,7],[1444953600,8]]; 
    $('#container').highcharts({ 
     chart: { 
      zoomType: 'x' 
     }, 
     title: { 
      text: 'USD to EUR exchange rate over time' 
     }, 
     subtitle: { 
      text: document.ontouchstart === undefined ? 
        'Click and drag in the plot area to zoom in' : 'Pinch the chart to zoom in' 
     }, 
     xAxis: { 
      type: 'datetime' 
     }, 
     yAxis: { 
      title: { 
       text: 'Exchange rate' 
      } 
     }, 
     legend: { 
      enabled: false 
     }, 
     plotOptions: { 
      area: { 
       fillColor: { 
        linearGradient: { 
         x1: 0, 
         y1: 0, 
         x2: 0, 
         y2: 1 
        } 
       }, 
       marker: { 
        radius: 2 
       }, 
       lineWidth: 1, 
       states: { 
        hover: { 
         lineWidth: 1 
        } 
       }, 
       threshold: null 
      } 
     }, 

     series: [{ 
      type: 'area', 
      name: 'USD to EUR', 
      data: data 
     }] 
    }); 


}; 

Я гугл ошибки и он показывает, что я должен добавить JQuery cdn перед highcharts, который я уже сделал, вы можете найти любую другую ошибку с этим кодом?

+0

Добавить jsfiddle ссылка вашего примера –

+0

Я не вижу никакого jquery-плагина перед тем, как использовать этот файл. Вы добавили только jquery ui. –

+0

Согласитесь с @AndiAR, вы также должны включить jquery, а не только jqueryUI.js –

ответ

1

вы пропустили JQuery, обернуть код в следующие

$(function(){ // put highcharts code here }); 

Кажется, вы используете angularJS, если вы звоните в это $ scope.someFunction, определить переменную как ниже

var myChart = new Highcharts.Chart({ //put your code of chart config 
        }); 
+0

штраф, то как сделать эту диаграмму отображаемой на этой диаграмме использования div –

+0

: {renderTo: 'container'} –

+0

спасибо, я попробую –

Смежные вопросы