Chartist.js在模态中添加图形

use*_*816 3 javascript twitter-bootstrap bootstrap-modal chartist.js

我使用库Chartist.js(Link)有一个小问题.我能够在html页面上重现一个图形但是,当我尝试插入一个自举模式时,图形只是挤压到1个像素.这方面的例子可以在这里找到:http://jsfiddle.net/qw2Lnqng/4/.我理解这个问题是因为图表不知道可用空间.选项卡(链接)也是如此.选项卡的解决方案如下: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();
});
});
Run Code Online (Sandbox Code Playgroud)

我试图对模态做同样的事但没有成功.你能告诉我热点解决这个问题吗?

谢谢大家!

Ale*_*lex 9

好的,我找到了解决方案.您可以在模态开始显示后更新图表; 通过使用这个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
              }
});
Run Code Online (Sandbox Code Playgroud)

然后使用此代码,您将能够将图表更新为其容器的新大小:

$('#popOverlay').on('shown.bs.modal', function (e) {
     yourchart.update();
});
Run Code Online (Sandbox Code Playgroud)