javascript - 如何动态加载highcharts

标签 javascript jquery highcharts

我正在尝试动态加载 highcharts,如下面的代码所示:它无法识别 highcharts 变量。如果我通过静态方式加载 highcharts,它就可以工作。请帮忙。

我正在使用 jquery 版本 4 和 highcharts 最新版本 1.0

<html>
<head>
//loading jquery
<script src="js/libs/jquery-1.4.2.js" type="text/javascript"></script>
<script type="text/javascript">
var chart1;

$(document).ready(function() {
$.getScript('js/libs/highcharts.src.js', function() {

            });


  chart1 = new Highcharts.Chart({
         chart: {
            renderTo: 'chart1',
            type: 'bar'
         },
         title: {
            text: 'Fruit Consumption'
         },
         xAxis: {
            categories: ['Apples', 'Bananas', 'Oranges']
         },
         yAxis: {
            title: {
               text: 'Fruit eaten'
            }
         },
         series: [{
            name: 'Jane',
            data: [1, 0, 4]
         }, {
            name: 'John',
            data: [5, 7, 3]
         }]
      });
   });


</script>


</head>

<body>
<div id="chart1"></div>

</div>
</body>
</html>

最佳答案

$.getScript() 是一个异步操作,这意味着它会去获取脚本,但不会等它完成后再处理其余代码。因此,您需要等待某种表明已检索代码的指示。如果你看the docs您会注意到 $.getScript() 有一个成功回调函数就是为了这个目的。事实上,您的代码中已经有一个空的成功函数,只需将 Highcharts 声明移到那里即可。换句话说,这样做:

$(document).ready(function() {
    $.getScript('js/libs/highcharts.src.js', function() {
        chart1 = new Highcharts.Chart({
            // Highcharts options
        });
    });
});

关于javascript - 如何动态加载highcharts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9108279/

相关文章:

javascript for 循环百分比计算每 12 个月

javascript - 使用 setInterval 模拟 setTimeout 不适用于嵌套

javascript - Highcharts 饼图中切片的长度

javascript - Highcharts - 向大型树形图添加更多深入分析

javascript - 当我尝试插入它时,firebase.firestore.FieldValue.serverTimestamp() 创建了一个 "modified"快照条目

javascript - Google map 高级缩放级别

javascript - 本地 JavaScript - 写入本地文件

javascript - 根据用户输入有条件地显示表单字段

jquery - 使用简写 if 更改属性时遇到问题

javascript - highcharts x 轴显示错误的数据