我在也使用bbUI.js工具包的 BB10 WebWorks 应用程序中使用Flot折线图。
使用 Ripple 模拟器运行应用程序时,图表大小是正确的 (1000x500)。但是,当我将应用程序部署到设备(Dev Alpha)时,图表尺寸太大(2243x1121)。
使用 Web Inspector 我发现画布元素的宽度和高度属性超过了占位符大小:
<div id="weight-chart" style="width: 1000px; height: 500px;
padding: 0px; position: relative;">
<canvas class="flot-base"
style="direction: ltr; position: absolute; left: 0px; top: 0px;
width: 1000px; height: 500px;"
width="2243" height="1121">
</canvas>
<canvas class="flot-overlay"
style="direction: ltr; position: absolute; left: 0px; top: 0px;
width: 1000px; height: 500px;"
width="2243" height="1121">
</canvas>
</div>
这是 HTML 页面片段:
<div data-bb-type="screen" data-bb-scroll-effect="on" id="chart-page"
data-bb-indicator="true">
<!-- chart goes here: -->
<div id="weight-chart" style="width:1000px;height:500px;"></div>
<div data-bb-type="action-bar" data-bb-back-caption="Back"></div>
</div>
这是完成的对 Flot 的 javascript 调用ondomready
:
bb.init({onscreenready: function(element, id, params) {
},
ondomready: function(element, id, params) {
if (id == 'chart') {
chartDataset = ...
chartOptions = ...
$.plot($("#weight-chart", element), chartDataset, chartOptions);
element.getElementById('chart-page').refresh();
}
});
你对正在发生的事情有任何线索吗?