var input = document.getElementById("btn");
input.addEventListener("keydown",skins)
var red1 = true;
var color = "red";
var green1 = false;
function skins(e) {
if (e.key == "w"){
if (red1) {
green1 = true;
color = "green";
red1 = false;
}
else if (green1) {
red1 = true;
color = "red";
green1 = false;
}
}
console.log(color);
}
<input type="text" id="btn">type w</input>
如果仅在按下键“ w”时才希望更改值。然后尝试以下代码。如果没有,请让我知道情况。
document.addEventListener("keydown",skins)
function skins(e) {
if (e.key == "w"){
if (red1) {
green1 = true;
color = green;
red1 = false;
}
else if (green1) {
red1 = true;
color = red;
green1 = false;
}
}
}
,
您遇到了一些范围问题。现在,您的示例中未定义red1和green1。如果值未定义,则将无法触发条件语句。但是为简单起见,我们假设您在代码的前面将red1定义为true,将green1定义为false。如果用户按下w键,则代码将达到第一个条件,并将red1切换为false,将green1切换为true。 (我现在忽略了颜色变量。)
然后代码继续执行下一个条件,现在green1为true,因此它将red1设置为true并将green1设置为false。您可能要考虑在red1 true条件之后添加return。返回值退出该函数,阻止其达到下一个条件。
document.addEventListener("keydown",skins)
function skins(e) {
if (e.key == "w"){
if (red1) {
green1 = true;
color = green;
red1 = false;
return;
}
}
if (green1) {
red1 = true;
color = red;
green1 = false;
}
}
本文链接:https://www.f2er.com/3159561.html