【发布时间】:2012-04-18 07:06:29
【问题描述】:
我正在使用amCharts(在幕后使用Raphaël)将一些图表呈现为SVG;并且注意到如果 SVG 在最初不可见的 div 中呈现,则当 div 变得可见时浏览器不会立即呈现图像。但是,如果我修改显示,例如通过调整浏览器大小或 Ctrl 鼠标滚轮缩放,SVG 图像会在页面重绘时按预期呈现。
div可见性切换的具体方法是通过Bootstrap's tabbed navbar。
我承认我对 SVG 不是很有经验 - 这是浏览器渲染的问题,还是 amCharts 的 SVG 标记的问题,或者当我知道 SVG 的可见性时,我是否需要显式调用某种重绘方法变了吗?
这是jsFiddle which illustrates the problem;如果您切换到第 2 部分(在 Chrome、Firefox 中),图表最初是不可见的。调整显示大小会使其出现。
【问题讨论】:
-
有amCharts制作的关于这个主题的教程:blog.amcharts.com/2012/08/…
-
Highcharts/Highstock 也有这个问题。
-
添加chart.invalidateSize();在选项卡中单击。参考:amcharts.com/tutorials/…
标签: javascript svg rendering