gpt4 book ai didi

javascript - 我该如何解决这个问题(它应该切换 'toggle' )

转载 作者:行者123 更新时间:2023-11-29 18:45:21 25 4
gpt4 key购买 nike

这应该可以通过单击在关闭和打开之间切换,但不会返回到打开状态。 :(

我已经尝试过真/假语句以及 g--; & g++;(或 g-=1; & g+=1;)

    var toggle=true;
var g = 1;
draw=function() {
if (mouseIsPressed&&g===1){
toggle=true;
g=2;
}
if (mouseIsPressed&&g===2) {
toggle=false;
g=1;
}
if(toggle===true){
background(255, 255, 255);
fill(255, 0, 255);
text('('+ mouseX + ',' + mouseY+')',mouseX,mouseY);
}
if(toggle===false){
background(255,255,255);
text('(off)',mouseX,mouseY);
}
};

我原以为它会在点击时切换,但它只停留在第二步。

最佳答案

第二个 if 语句将始终为 true,因为第一个设置 g=2。这是一个简化的示例:

var mouseIsPressed = true;
var g = 1;
var toggle = false;

if (mouseIsPressed && g === 1) {
console.log('inside first `if`');
toggle = true;
console.log('set toggle =', toggle);
g = 2;
console.log('set g =', g);
}
if (mouseIsPressed && g === 2) {
console.log('inside second `if`');
toggle = false;
console.log('set toggle =', toggle);
g = 1;
console.log('set g =', g);
}

可以看到 if 语句都被执行了。

您需要 else if 代替:

if (mouseIsPressed && g === 1) {
toggle = true;
g = 2;
} else if (mouseIsPressed && g === 2) {
toggle = false;
g = 1;
}

但是,如果您实际上并没有将 g 用于任何其他用途,而只是想切换 toggle 的值,您可以这样做:

if (mouseIsPressed){
toggle = !toggle;
}

关于javascript - 我该如何解决这个问题(它应该切换 'toggle' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54471092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com