Javascript 未捕获类型错误:canvas1.position不是p5.js中的函数
我正在尝试使用p5.js和javascript编写程序。但是我在p5.dom.js中遇到了一个问题,出现了如下错误: “未捕获类型错误:canvas1.position不是函数” 我几乎每天都在消耗:( 我正要用p5.js制作另一个js文件 这是我的密码 main.htmlJavascript 未捕获类型错误:canvas1.position不是p5.js中的函数,javascript,jquery,html,p5.js,Javascript,Jquery,Html,P5.js,我正在尝试使用p5.js和javascript编写程序。但是我在p5.dom.js中遇到了一个问题,出现了如下错误: “未捕获类型错误:canvas1.position不是函数” 我几乎每天都在消耗:( 我正要用p5.js制作另一个js文件 这是我的密码 main.html <html> <head> <meta charset="UTF-8"> <script src="https://code.jquery.c
<html>
<head>
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>
<canvas id="canvas" width=1200 height=1334></canvas>
<script src="coords.js"></script>
<script src="p5/p5/p5.min.js"></script>
<script src="p5/p5/p5.dom.js"></script>
</body>
</html>
请帮帮我!!好的,考虑到
coords
还有其他代码,您可能应该这样做:正常包括
sketch.js
,并将其放在p5
文件之后。然后像往常一样包括
coords
<html>
<head>
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>
<canvas id="canvas" width=1200 height=1334></canvas>
<script src="p5/p5/p5.min.js"></script>
<script src="p5/p5/p5.dom.js"></script>
<script src="sketch.js"></script>
<script src="coords.js"></script>
</body>
</html>
这样,您就不会有奇怪的和不必要的ajax调用加载您已经加载的代码
编辑
假定默认情况下运行setup()
,您应该能够将setup
放在您的if条件中,并将sketch.js
一起删除
if(flag==1 && count==2){
var canvas1;
function setup(){
canvas1=createCanvas(width1,height1);
canvas1.position(minX1,maxY1);//got error here!!
}
}
还是像g·安回答的那样
if (flag == 1 && count == 2) {
$('body').append('<script src="sketch.js"></script>');
}
试着放在下面@Ollaw它不起作用了。
coords.js
是什么,为什么?试着把coords.js
放在一起。在p5
脚本之后放sketch.js
进去,只有当条件匹配时才运行设置
函数。@Craicerjack在coords.js中还有其他函数,但我不知道dn不要上传到那里…谢谢,但是sketch.js应该在以下条件下执行:if(flag==1&&count==2),否则sketch.js中的画布就会出现:(您试过了吗,因为setup()sketch.js
中的
仅在满足您的条件时调用,除非代码比您显示的多…@user8014056您可以尝试将设置移动到条件
中,或者您可以设置一个对象来容纳它,然后仅在满足条件时实例化它-
if(flag==1 && count==2){
setup();
}
if(flag==1 && count==2){
var canvas1;
function setup(){
canvas1=createCanvas(width1,height1);
canvas1.position(minX1,maxY1);//got error here!!
}
}
if (flag == 1 && count == 2) {
$('body').append('<script src="sketch.js"></script>');
}
var s = function( p ) {
var x = 100;
var y = 100;
p.setup = function() {
p.createCanvas(x, y);
p.position(x,y);
};
p.draw = function() {
p.background(0);
p.fill(255);
p.rect(x,y,50,50);
};
};
if (flag == 1 && count == 2) {
var myp5 = new p5(s);
}