图表.js在调整窗口大小时消失
Chart.js Disappear on Window Resize
我正在使用Chart.js
在<tr>
内的div中显示折线图。
<tr class="item">...</tr>
<tr class="item-details">
...
<div class="col-sm-6 col-xs-12 chart-pane">
<div class="chart-container">
...
<div><canvas id="future-chart"></canvas></div>
</div>
</div>
...
</tr>
加载页面时,item-details
<tr>
被隐藏,单击上面的item
<tr>
将显示并调用函数在画布中绘制图表。 此函数如下所示:
$(document).on('click', '.item', function(){
var itemDetails = $(this).closest('tr').next('tr');
...
var canvas = itemDetails.find('#future-chart').get(0);
if (canvas) {
...
// just setting data here
var data = {
...
};
var options = {
responsive: true,
maintainAspectRatio: true
};
var futureChart = new Chart(context).Line(data,options);
}
});
我遇到的问题是,如果我单击div 以显示屏幕大于 767px ((,然后再次单击以隐藏,将屏幕大小调整为小于 767px,然后再次打开 tr,图表消失了。
这是我能找到的唯一使图表消失的情况。 如果我做与上述相反的操作,图表将保留在那里。 如果我让<tr>
保持打开状态并调整窗口大小,图表会保持良好状态。
我Responsive
设置为 True,当<tr>
打开并调整窗口大小时,图表会正确调整大小。
我想我需要在调整窗口大小时重新绘制画布,但是每当打开<tr>
时,都应该重新绘制整个图表,所以我不确定究竟是什么原因造成的。
我遇到了一个问题,在调整窗口大小时,图形消失了。我通过使用新命令仅创建一次图形来解决问题
this.myChart = new Chart(this.ctx, {
type: 'line', .....
}
之后,我只在创建的图表上update()
。 实际上,每次创建图表都不会保留在内存中。更新datasets
的示例
this.myChart.data.datasets = datasetsTmp;
this.myChart.update();
我希望这是有帮助的。
每次用户调整图表大小时,您都需要获取两个日期之间的数据
查看 coinmarketcap.com
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- facebook”;添加评论“;popup获胜'不要消失
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 为什么js事件消失了
- JS文件的路径正在消失
- 如何在iOS应用程序中从Firebase中删除超过6小时的数据
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- Morris.js折线图x轴标签在调整大小后消失
- IE在将字符串转换为日期时从日期中删除4小时
- 调整屏幕大小时更改属性值
- JavaScript下拉菜单-部件在Mac上消失
- 将display属性更改为visible flicks,然后再次消失
- 将直流图表库中的折线图缩放限制为小时
- TinyMCE实例在切换角度路由选项时会消失
- 图表.js在调整窗口大小时消失
- 当CSS和JS缩小时,Fancybox关闭按钮将消失
- jQuery JavaScript使页脚或其他元素在页面调整大小时消失
- d3.js日小时热图加载服务器重启,但消失时,页面刷新
- 网站部分悬停功能在特定的调整大小时消失