Lou*_*s93 2 javascript jquery flot
图形没有绘制,控制台抛出这个:Uncaught Error: Invalid dimensions for plot, width = 1350, height = 0是错误.
我尝试在JSFiddle上重新创建错误但是无法这样做,但是它应该类似于:JSFiddle
关于此错误的一些注意事项
有时在第一个x页面加载时,将绘制图形,然后在抛出该错误后它将停止.
这是完整的错误:
Uncaught Error: Invalid dimensions for plot, width = 1350, height = 0 jquery.flot.js:119
Canvas.resize jquery.flot.js:119
Canvas jquery.flot.js:98
setupCanvases jquery.flot.js:1261
Plot jquery.flot.js:674
$.plot jquery.flot.js:3039
visc_graph active-scripts.js:45
(anonymous function) active-scripts.js:346
k jquery.min.js:2
l.fireWith jquery.min.js:2
p.extend.ready jquery.min.js:2
D jquery.min.js:2
它似乎从jquery.flot源中抛出:
Canvas.prototype.resize = function(width, height) {
if (width <= 0 || height <= 0) {
throw new Error("Invalid dimensions for plot, width = " + width + ", height = " + height);
Uncaught Error: Invalid dimensions for plot, width = 1350, height = 0
}
Run Code Online (Sandbox Code Playgroud)
编辑:更多信息:与上面链接的JSFiddle不同,我正在使用该函数绘制多个图形 - 类似这样,但是,当我为每个placeholderdiv 创建单独的函数时,这没有发生.
从控制台调用图形功能,visc_graph(2,3,'#placeholder');似乎工作正常:(
我一直在努力解决这个问题,因为我无法诊断出这个问题的真正原因.关于如何解决这个问题的任何意见都将得到极大的赞赏.
更新:
当Flot无法确定占位符div的大小时,会出现该错误.这可以通过多种方式实现,但通常意味着您$.plot在占位符位于DOM之前调用.
正如@Mark建议的那样,如果您在$.plot文档准备好之前调用,这可能会发生,但也可能以其他方式发生.您的图表是否保留在标签,手风琴,对话框或其他内容在页面加载时隐藏的小部件中?如果是这样,那可能是通过将内容div从DOM中删除来实现的,这意味着绘图占位符也在DOM之外并且无法测量.
这个错误真的没有其他原因,所以如果你仍然没有看到问题,你需要发布更多的代码 - 特别是DOM部分 - 所以我们可以理解发生了什么.
| 归档时间: |
|
| 查看次数: |
2403 次 |
| 最近记录: |