我正在实现一个按钮来生成报告(绘制一些图表)。在按下按钮之前,这些图表是hidden()
,因为我正在使用bootstrap
滚动条,因此也被隐藏了。按下按钮后,我在div上调用show()
来定义图表并调用图表渲染功能,在显示div之后也创建了滚动条,但由于某些原因chart.reflow()
变得不可访问且不会触发,因此导出按钮并点数会被滚动条裁剪。
https://jsfiddle.net/bernardo0marques/m6jqa79r/24/
如果您手动调整窗口大小,则会调用.reflow()
,它会得到修复。有任何解决方法或建议吗?
实际上,您正在努力解决的问题与触发chart.reflow
无关。在提供的演示中,您试图在图表初始化之前触发chart.reflow
-检查开发人员控制台。
真正的问题与您的按钮位置有关。您已经为按钮元素使用了style="float: left;"
属性,该属性设置了按钮在窗口中的左位置-这也是第一张图表的容器,并且在计算某些图表元素的初始位置时会产生复杂性-这是一个演示,在其中可以更轻松地了解我在说什么:https://jsfiddle.net/BlackLabel/L70xh95g/
因此,您将需要找到其他不会干扰图表渲染的CSS样式。在常规的块模式下,一切正常:
https://jsfiddle.net/BlackLabel/dwrje7f0/
我刚刚删除了style="float: left;"