当新数据以10秒的间隔填充时,HighStock图表会获得更改浏览器

时间:2012-03-02 08:36:49

标签: javascript highcharts highstock

  

可能重复:
  Will setInterval cause browsers to hang?

我实现Highstock JS v1.1.4图表来表示数据

图表代码:

chart = new Highcharts.StockChart({
    chart: {
        renderTo: 'highchartviewpanel',
        events:{

            load:function(){
                setIntervalForhighchartdata();
            }
            }

    },
    rangeSelector: {
        buttons: [{
            count: 1,
            type: 'minute',
            text: '1M'
        },{
            count: 5,
            type: 'minute',
            text: '5M'
        },
        {
            count: 15,
            type: 'minute',
            text: '15M'
        }],
        selected:0,
        inputEnabled: false
    },
    navigator: {
    height: 40,
    xAxis: {

     valueDecimals: 1
       }
     },

    title: {
        text: 'payment analysis',
        floating: true,
        align: 'right',
        x: -20,
        top: 20
    },
    xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
            second : '%H:%M:%S',
            minute : '%H:%M',
            hour: '%H',
            day : '%b,%d',
            week : 'b,%d',
            month : '%Y,%b',
            year : '%Y'
        },
    valueDecimals: 0
    },
    yAxis: [
    {
        title: {
            text: 'item1'
        },
        height: 50,
        lineWidth: 2
    }, {
        title: {
            text: 'item2'
        },
        top: 90,
        height: 50,
        offset: 0,
        lineWidth: 2
    },{
        title: {
            text: 'item3'
        },
        top: 150,
        height: 50,
        offset: 0,
        lineWidth: 2
    }],
    series: [{
        name: 'item1',
        data: item1data,
        color:'blue'
       }, 
       {
        name: 'item2',
         yAxis: 1,
        data: item2data,
        color:'black'

    },{         
        name: 'item3',
        yAxis: 2,
        data: item3data,
        color:'red'

    }]
});

}

setIntervalForhighchartdata()是每10秒更新一次图形的函数,我的数据值基于时间间隔xdata是datetime,ydata是数据点1,2,3 ......

在图表更新

的某个时候挂起浏览器

1 个答案:

答案 0 :(得分:1)

在你再次调用之前,你的调用函数可能无法完成。我假设你正在使用setInterval()。如果是这样,我建议将其与setTimeout()结合使用。

有关详细信息,请查看此主题 - Will setInterval cause browsers to hang?