JQuery Mobile+ChartJS:只在调整大小后显示响应条形图
JQuery Mobile + ChartJS : Responsive Bar Chart displayed only after resizing
我一直在尝试将chart.js的响应条形图添加到我的一个JQM项目中。
这就是我所做的:http://jsfiddle.net/mauriciorcruz/1pajh3zb/3/
图表必须显示在第二页上,并且必须具有响应性。在我的示例中,如果将responsive : true
更改为false
,它将像符咒一样工作。
如果responsive
设置为true
,单击按钮后您将看不到任何内容,但如果调整屏幕大小,图表将神奇地出现。
有人猜测为什么会发生这种情况吗?我为#pagetwo
尝试过不同的JQM事件,但都没有成功。
非常感谢!
在jQM 1.4中,您将使用新页面容器小部件的show事件来确保页面已绘制,并且所有维度都可用于响应图表以计算其宽度:
$( "body" ).on( "pagecontainershow", function( event, ui ) {
if (ui.toPage.prop("id") == "pagetwo"){
//show chart code here
}
});
使用ui参数可以查看正在显示的页面(ui.toPage
)。
演示
对于jQM1.3,没有页面容器,所以您只使用委托给yoyr图表页面的pageshow
事件:
$(document).on( "pageshow", "#pagetwo", function() {
//show chart code here
});
演示
使用show事件,您现在可以在每次显示页面时绘制图表。如果图表在访问页面之间没有变化,您可以在绘制图表后为其保留一个全局javascript变量,并检查是否需要在每次访问时绘制:
var barChart;
$(document).on( "pageshow", "#pagetwo", function() {
if (barChart == null){
//draw if barchart is null
window.barChart = new Chart(ctx).Bar(data...
}
});
相关文章:
- 将高图饼图中的文本居中显示为响应
- 显示IIS上javascript文件(SOAP请求)的XML响应
- Jqgrid-表未显示响应行为
- Servlet对浏览器上显示的纯文本Javascript的响应
- 在SPRING中从ajax调用响应时显示不可接受错误
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- Jquery 自动完成插件未显示成功响应
- 如何从服务器响应中显示phonegap中的图像
- 在表中显示ajax响应不起作用
- 从javascript向Ashx处理程序发送xml数据,并在新窗口中显示响应
- JQuery Mobile+ChartJS:只在调整大小后显示响应条形图
- IE不会在新的弹出窗口中显示响应
- $http在angularjs应用中不显示响应
- 无法在ngDialog中显示响应数据
- 如何在angularjs中显示响应数据
- 在promise中将变量设置为Parse Query的result只显示响应中的第一项
- AJAX调用显示响应从php脚本在html
- 通过使用javascript发出HTTP GET请求来显示响应(xml)
- 如何使用$q.all(promises)并在网页上显示响应