canvas大小调整-IOS HTML5应用程序 – (图表JS)
我有一个奇怪的间歇性问题在图表JS( http://www.chartjs.org/ )在html5 IOS应用程序。
我已经在这里列出了我的canvas –
<canvas id="overallChart" height="270" width="270" style="height:270px!important; width:270px!important;"></canvas>
页面中有多个图表 – 图表通过基本图表js设置触发 –
var lineData = { labels : ["Jan","Feb","March","April","May"], datasets : [ { fillColor : "rgba(255,128,38,0.9)", strokeColor : "rgba(225,225,225,1)", pointColor : "rgba(225,225,225,1)", pointStrokeColor : "#fff", data : [65,59,90,81,56] }, { fillColor : "rgba(119,62,20,0.9)", strokeColor : "rgba(225,225,225,1)", pointColor : "rgba(225,225,225,1)", pointStrokeColor : "#fff", data : [28,48,40,19,96] } ] } var lineChart = new Chart(document.getElementById("lineChart").getContext("2d")).Line(lineData)
尽pipe内联的重要风格 – canvas随机抽出一个巨大的图表版本,并改变高度/宽度值。
有没有其他人经历过这种行为? 任何build议要解决?
我遇到了相同/类似的问题,并find了一个解决scheme:在先前使用的canvas(重新绘制以合并新的用户input数据,或绘制不同types的图表)时出现问题。 在“新鲜”的canvas上画画从来没有造成缩放问题。
因此,解决方法是在绘制之前用新的canvasreplace旧canvas。 在jQuery中:
$("#overallChart").replaceWith("<canvas id='overallChart' height='270' width='270'></canvas>"); var lineChart = new Chart(document.getElementById("overallChart").getContext("2d")).Line(lineData);
在你的JavaScript中,你试图selectid为'lineChart'的元素,但是在你的HTML中,你要给这个元素一个id为'overallChart'的元素。 更改:
var lineChart = new Chart(document.getElementById("lineChart").getContext("2d")).Line(lineData)
至:
var lineChart = new Chart(document.getElementById("overallChart").getContext("2d")).Line(lineData)
尝试改变这一行:
var lineChart = new Chart(document.getElementById("lineChart").getContext("2d")).Line(lineData)
至
var lineChart = new Chart(document.getElementById("canvas").getContext("2d")).Line(lineData);
看看这是否适合你
- 如何将UIWebView中运行的HTML事件发送到本地Objective-C代码?
- 在UIWebView中防止恼人的HTML5地理位置警报
- html input type = file – 从iCloud中select一个文件
- 移动Safari上的touchMove事件 – 导致整个页面被拖动
- 各种iOS版本在Web应用程序caching大小限制及其响应方面有何不同?
- 无法通过https播放iPad <audio>
- iOS 6的js事件function不调用,如果有setTimeout在其中
- 如何擦除,清除,擦除保存在iPad上的主屏幕上的Web应用程序的HTML 5 localstorage?
- 在iOS背景模式下继续播放来自html5播放器的audio