使用库Chartist.js(Link)时遇到一个小问题。我能够在html页面上重现图形,但是当我尝试设置一个自举模式时,图形只是挤压到1个像素。可在此处找到此示例:http://jsfiddle.net/qw2Lnqng/4/。我理解这个问题是因为图表不知道可用空间。选项卡(Link)也是如此。选项卡的解决方案如下:http://jsbin.com/bawofakogu/1/edit?html,js,output。解决方案是添加这段代码:
$('[data-tab]').on('toggled', function (event, tab) {
tab.find('.ct-chart').each(function(i, e) {
e.__chartist__.update();
});
});
我曾尝试对模态做同样的事但没有成功。你能告诉我我解决这个问题吗?
全部谢谢!
答案 0 :(得分:7)
好的,我找到了解决方案。您可以在模态开始显示后更新图表;通过使用这个jQuery代码:
首先,将图表存储在变量中:
var yourchart = new Chartist.Line('.ct-chart', {
labels: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
series: [
[12, 9, 7, 8, 5],
[2, 1, 3.5, 7, 3],
[1, 3, 4, 5, 6]
]
}, {
fullWidth: true,
chartPadding: {
right: 40
}
});
然后使用此代码,您将能够将图表更新为其容器的新大小:
$('#popOverlay').on('shown.bs.modal', function (e) {
yourchart.update();
});