Javascript p5js定位画布未捕获类型错误

Javascript p5js定位画布未捕获类型错误,javascript,canvas,p5.js,Javascript,Canvas,P5.js,我不确定我在这个问题上做错了什么。我正在使用OpenProcessing并试图将canvas元素放入容器中,但遇到了未捕获的TypeError,无法读取属性“id” 我正在从中复制相同的代码 这是我的密码 function setup() { var cnv = createCanvas(500, 100); cnv.id("hello"); cnv.position(0,0); } function draw() { } 这是我的素描的链接。。。 函数的creat

我不确定我在这个问题上做错了什么。我正在使用OpenProcessing并试图将canvas元素放入容器中,但遇到了未捕获的TypeError,无法读取属性“id”

我正在从中复制相同的代码

这是我的密码

function setup() {
    var cnv = createCanvas(500, 100);
    cnv.id("hello");
    cnv.position(0,0);
} 

function draw() {
}
这是我的素描的链接。。。 函数的
createCanvas()
没有返回任何内容。这不符合你的想法,所以我理解你的困惑

我猜OpenProcessing使用了稍微修改过的P5.js版本,因为它实际上不需要任何定位。画布始终位于屏幕中央

如果您打算继续使用OpenProcessing,那么我就不再担心自己定位画布了。或者我会搜索重新定位画布的现有草图,看看它们是如何实现的


即使
createCanvas()
函数返回soemthing,我也不确定
id()
函数在这种情况下应该做什么。您发布的链接中没有任何内容使用该功能。尽管如此,如果我在本地运行它,它似乎工作得很好。

它与OpenProcessing有关,因为您的代码在(和本地)上工作得非常好。
createCanvas
方法返回一个对象,因此对其调用
id
函数不应像在OpenProcessing上那样返回“无法读取未定义的属性'id',因此
createCanvas
可能不会返回任何内容,并且它应该根据返回一个对象


您可以尝试使用css定位画布,如中所述,方法是添加使用或不使用OpenProcessing的样式表(如果可能)。

感谢您的快速及时响应。最后,我调整了其他元素的z索引值,以弥补对画布z索引的控制不足。我的整个项目都是用开放处理构建的,迁移到P5编辑器需要更长的时间。再次感谢您的帮助。我的目的并不是表示要迁移到p5 web编辑器,这是非常基本的,只适合想试用p5的初学者。它没有提供太多的功能。但是,对于你未来的项目,你可能需要考虑。
function setup() {
    var cnv = createCanvas(500, 100);
    cnv.id("hello");
    cnv.position(0,0);
} 

function draw() {
}