Javascript 延迟加载Highcharts';图表

Javascript 延迟加载Highcharts';图表,javascript,html,highcharts,webiopi,Javascript,Html,Highcharts,Webiopi,我想知道是否有办法延迟在页面加载上加载Highcharts图表。此时,我的图表会在页面打开后立即加载,这会导致我的代码崩溃,因为脚本没有足够的时间获取图表的数据 有人知道如何避开这个问题吗?有几种方法。一种是在收到数据时初始化图表(例如使用jQuery post,数据看起来像[5,6,8,11]): 或者,您可以在加载时初始化图表,然后在获得数据时将数据泵入图表中(数据类似于[5,6,8,11]): 查看详细信息 cheers如果从外部源加载数据,则应在执行此操作的函数的回调中初始化图表。如果执

我想知道是否有办法延迟在页面加载上加载Highcharts图表。此时,我的图表会在页面打开后立即加载,这会导致我的代码崩溃,因为脚本没有足够的时间获取图表的数据


有人知道如何避开这个问题吗?

有几种方法。一种是在收到数据时初始化图表(例如使用jQuery post,数据看起来像[5,6,8,11]):

或者,您可以在加载时初始化图表,然后在获得数据时将数据泵入图表中(数据类似于[5,6,8,11]):

查看详细信息


cheers

如果从外部源加载数据,则应在执行此操作的函数的回调中初始化图表。如果执行此操作,则会出现错误“TypeError:$(…)。highcharts不是函数”Highcharts绝对是正确初始化的,正如我以前看到的那样。请将您的示例复制为live demo。您可以在jsfiddle.net上执行此操作
$(function(){
    $.post('test_highchart.asp', {actn:'load-data'}, function(dat){
        $('#chart').highcharts({
            chart: {
                type: 'bar'
            },
            title: {
                text: 'Delayed Loading'
            },
            xAxis: {
                title: {
                    text: 'Values'
                }
            },
            series:[{
                name: 'value',
                data: dat
            }]
        });
    }, 'json');
});
$(function(){
    window.chart = new Highcharts.Chart({
        chart: {
            renderTo: 'chart',
            type: 'bar'
        },
        title: {
            text: 'Delayed Loading'
        },
        xAxis: {
            title: {
                text: 'Values'
            }
        },
        series:[{
            name: 'values',
            id: 'series1',
            data: []
        }]
    });

    // load data:
    $.post('test_highchart.asp', {actn:'load-data'}, function(dat){
        $.each(dat, function (val) {
            // add points to chart:
            window.chart.get('series1').addPoint(val);
        });
    }, 'json');
});