我似乎没有足够的知识。我想制作一个按钮,每次点击它都会改变对象的颜色。颜色应该改变3次,它应该循环整个过程。 这是我做的:
var count = 0;
function myFunction() {
if (count == 0) {
character.style.backgroundColor = "#000000";
count = 1;
console.log(count);
}
if (count == 1) {
character.style.backgroundColor = "#7FFF00";
count = 2;
console.log(count);
}
else {
character.style.backgroundColor = "#A2FAFA";
count = 0;
console.log(count);
}
}
我知道它为什么不起作用,但我需要用另一种方式来写它。 功能将对象的颜色更改为#000000"#000000"分裂然后继续下一个颜色:"#7FFF00"。它不会在第一个" if"之后结束该功能。如何以其他方式重写它?
答案 0 :(得分:3)
var count = 0;
var colours = ["#000000", "#7FFF00", "#A2FAFA"];
function myFunction() {
count += 1;
if (count >= colours.length) {
count = 0;
}
character.style.backgroundColor = colours[count];
console.log(count);
}
答案 1 :(得分:1)
你可以链接if - else以确保它在执行if语句后不会执行任何代码
df2 <- df1
i1 <- df1[1:4] > df1$UCL
i2 <- df1[1:4] < df1$LCL
df2[1:4][i1] <- df2$UCL[row(df2[1:4])][i1]
df2[1:4][i2] <- df2$LCL[row(df2[1:4])][i2]
答案 2 :(得分:0)
该条款仍在继续,因为您未使用else if
。试试这个:
var count = 0;
function myFunction() {
count++;
count = count % 3;
if (count == 0) character.style.backgroundColor = "#000000";
else if (count == 1) character.style.backgroundColor = "#7FFF00";
else character.style.backgroundColor = "#A2FAFA";
}
我还添加了模运算符以简化代码
答案 3 :(得分:0)
为此你应该使用
if(count==0) { ... }
else if(count==1) { ... }
else { ... }
所以功能应该是
function myFunction() {
if (count == 0) {
character.style.backgroundColor = "#000000";
count = 1;
console.log(count);
}
else if (count == 1) {
character.style.backgroundColor = "#7FFF00";
count = 2;
console.log(count);
}
else {
character.style.backgroundColor = "#A2FAFA";
count = 0;
console.log(count);
}
}
更好的方法:
var count = -1;
function myFunction() {
var color = ["#000000", "#7FFF00", "#A2FAFA"];
character.style.backgroundColor = color[count>1?count:++count] ;
}