我正在使用 Raphael.js。每次我加载页面时,我都会收到一条错误消息:
con is undefined
x = con.x
我在 Raphael 文档中查找了 con
,这是我发现的:
var con = R._getContainer.apply(0, arguments),
container = con && con.container,
x = con.x,
y = con.y,
width = con.width,
height = con.height;
//...
con
在这里明确定义。这是我要加载的代码:
var paper = new Raphael(ele('canvas_container'), 500, 500);
window.onload = function() {
var circle = paper.circle(100,100,100);
for (i = 0; i < 5; i++) {
var multiplier = i * 5;
paper.circle(250 + (2 * multiplier), 100 + multiplier, 50 - multiplier);
}
}
还有其他人遇到过这个错误吗?这是我拥有的 Raphael 版本中的错误还是存在其他问题?
最佳答案
尝试将纸张实例移到窗口的加载函数中:
window.onload = function() {
var paper = new Raphael(ele('canvas_container'), 500, 500);
var circle = paper.circle(100,100,100);
for (i = 0; i < 5; i++) {
var multiplier = i * 5;
paper.circle(250 + (2 * multiplier), 100 + multiplier, 50 - multiplier);
}
}
如果您尝试在 DOM 准备好之前通过其 ID 获取元素,getElementById
将不会返回任何内容。如你所见here ,在空文档上尝试您的代码会显示相同的结果。
关于javascript - 变量抛出 'undefined' 错误,无法弄清楚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8838555/