0

重複の可能性:
setInterval はブラウザをハングさせますか?

表現データの 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 のデータ ポイントです ....

グラフの更新時にブラウザがハングする

4

1 に答える 1

1

呼び出した関数は、再度呼び出す前に完了しない可能性があります。使用していると思いますsetInterval()。もしそうなら、と組み合わせて使用​​することをお勧めしsetTimeout()ます。

詳細については、このスレッドを確認してください - setInterval によりブラウザがハングしますか?

于 2012-03-02T08:49:58.123 に答える