ID セレクターの代わりにクラスセレクターで High charts reflow() 関数を実行しようとした人はいますか?
含む div サイズを切り替える 1 つのボタンを持つ 2 つのグラフがある例を参照してください。もう 2 つのボタンがあります。1 つは ID でチャートをリフローし、もう 1 つはクラスでチャートをリフローします。
クラスセレクターを使用するものは両方のチャートをリフローしていないように見え、そのクラスを使用する最初の要素のみをリフローすることに注意してください。
HTML:
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<div style="width: 600px">
<div id="container1" class="needreflow" style="width: 400px; height: 300px; margin: 1em; border: 1px solid gray"></div>
<div id="container2" class="needreflow" style="width: 400px; height: 300px; margin: 1em; border: 1px solid gray"></div>
</div>
<button id="set-div-size" class="autocompare">Toggle container size</button>
<button id="reflow-chart-byid" class="autocompare">Reflow charts by id selector</button>
<button id="reflow-chart-byclass" class="autocompare">Reflow charts by class selector</button>
JS:
$(function () {
$('#container1').highcharts({
xAxis: {
categories: ['Jan', 'Feb', 'Mar']
},
series: [{
data: [29.9, 71.5, 106.4]
}]
});
$('#container2').highcharts({
xAxis: {
categories: ['Jan', 'Feb', 'Mar']
},
series: [{
data: [29.9, 71.5, 106.4]
}]
});
var wide = false;
$('#set-div-size').click(function () {
$('#container1').width(wide ? 400 : 500);
$('#container2').width(wide ? 400 : 500);
wide = !wide;
});
$('#reflow-chart-byid').click(function () {
$('#container1').highcharts().reflow();
$('#container2').highcharts().reflow();
});
$('#reflow-chart-byclass').click(function () {
$('.needreflow').highcharts().reflow();
});
});