Javascript 鼠标单击不使用if语句调用函数

Javascript 鼠标单击不使用if语句调用函数,javascript,if-statement,Javascript,If Statement,我目前正在学习如何在khan academy上编写javascript。我正在做鱼缸项目 代码: background(89, 216, 255); var centerX ; var centerY ; var bodyLength = 118; var bodyHeight = 74; var drawFish = function(centerX, centerY) { noStroke(); fill (random(1,255), random(1,255), random(1,

我目前正在学习如何在khan academy上编写javascript。我正在做
鱼缸项目

代码

 background(89, 216, 255);

var centerX ;
var centerY ;
var bodyLength = 118;
var bodyHeight = 74;

var drawFish = function(centerX, centerY) {
noStroke();
fill (random(1,255), random(1,255), random(1,255));
// body
ellipse(centerX, centerY, bodyLength, bodyHeight);
// tail
var tailWidth = bodyLength/4;
var tailHeight = bodyHeight/2;
triangle(centerX-bodyLength/2, centerY,
         centerX-bodyLength/2-tailWidth, centerY-tailHeight,
         centerX-bodyLength/2-tailWidth, centerY+tailHeight);
// eye
fill(33, 33, 33);
ellipse(centerX+bodyLength/4, centerY, bodyHeight/5, bodyHeight/5);
};

if(mouseClicked) {
  drawFish(random(1,400), random(1,400)); } else { text ("Left click to add fish!", 100, 100); }

如果我只是多次使用“复制和粘贴”调用函数,它就可以工作,但如果我在屏幕上单击,它就可以工作。我也试过用
鼠标按下
鼠标按下

在javascript中,通过指定要操作的HTML区域或对象来指定鼠标事件。如果你想在屏幕上画鱼,你可以这样做

document.getElementById('body').onclick = function() {
    drawFish(...) //with your random place
}
“主体”部分可能会发生变化,具体取决于您希望鼠标单击事件在何处有效。我假设这个项目与html一起工作,所以标记应该可以正常工作。但你也可以这样做

document.onclick = function() {

}
作为全局事件处理程序


我不确定mouseclick是什么,但您希望在mouseclick上触发draw方法。因此,如果您的mouseClicked变量在其他方法中动态更改,您也应该发布该代码

mouseClicked
在您的代码中似乎什么都没有。使用
onClick
。例如:

var element = document.getElementById("id");
element.onclick = function() {
       drawFish(random(1,400), random(1,400)); 
}
或者,只需单击文档(或呼叫页面),即可使用:


如果我用那个代码,它似乎是有效的。有人知道我如何使用它,但只有在我将mouseX和mouseY放在某个位置时,才能让它创建一条新的鱼吗?

经过几次尝试后,我这样做了:

var drawBubble = function () {

    var bubbleX = (mouseX);
    var bubbleY = (mouseY);
    stroke(255, 255, 255);
    noFill();
    ellipse (bubbleX,bubbleY,20,20);
    fill(250, 250, 250);
    ellipse (bubbleX + 5, bubbleY - 2, 5,5);
};

var mouseClicked = function(){
  drawBubble (mouseX,mouseY);
};

什么是“鼠标点击”???你在哪里设置它???。。。查看完整的编码代码可能很有用:mouseClicked=function(){drawFish(random(1400),random(1400));};mouseClicked是网站khanacademy添加的东西。。。我不确定它到底是什么。他们可能在某个地方设置了它的值,不要担心,如果(鼠标点击)…尝试替换
,否则…
,用我编写并检查的代码,它有望工作。或者,当有10条鱼重新启动,而没有鱼时,我怎么能让它工作呢?
mouseClicked = function() {
    drawFish(random(1,400), random(1,400));};
var drawBubble = function () {

    var bubbleX = (mouseX);
    var bubbleY = (mouseY);
    stroke(255, 255, 255);
    noFill();
    ellipse (bubbleX,bubbleY,20,20);
    fill(250, 250, 250);
    ellipse (bubbleX + 5, bubbleY - 2, 5,5);
};

var mouseClicked = function(){
  drawBubble (mouseX,mouseY);
};