【发布时间】:2018-02-02 15:52:05
【问题描述】:
基本上,我正在使用 JavaScript 为我的 Arduino 测试代码。我想做的(在Arduino上)是单击一个按钮(+)来改变屏幕(有8个屏幕,0索引)。实际发生的是您单击按钮,该按钮增加一个变量,然后该变量控制“激活”的屏幕。当变量等于 7 时,下一次按下会将其更改为 0。还有一个 (-) 按钮,它的作用相反。
以上是我想在我的 Arduino LCD 上实现的。但是,我用 JavaScript 编写它只是为了测试逻辑等。
这是我当前的代码:
<p id='cool'></p>
<button id='plus' onclick='plus(); check()'>+</button>
<button id='sub' onclick='sub(); check()'>-</button>
<br>
<p id='show'></p>
<script>
var cool = document.getElementById('cool');
var status = 0;
function plus(){
if(status == 7){
status = 0;
}else{
status++;
}
cool.innerHTML = status;
}
function sub(){
if(status == 0){
status = 7;
}else{
status--;
}
cool.innerHTML = status;
}
</script>
cool id 仅显示状态。
我想根据状态值更改显示 ID 的内容。我最初不得不使用 switch 语句,例如:
function check(){
switch(status){
case 0:
document.getElementById('show') = "one";
break;
case 1:
document.getElementById('show') = "two";
break;
default:
document.getElementById('show') = "default";
}
}
您会注意到check() 函数已经在按钮的onclick 中。
不幸的是,这种方法对我不起作用,有什么想法吗?
【问题讨论】:
-
document.getElementById('show').innerHTML="one"似乎是你想要的 -
或者
document.getElementById('show').innerHTML=["zero","one","two",...,"seven"][status] -
@mplungjan 同意,数组快捷方式非常有用。
-
@mplungjan 谢谢,效果很好,联合阵列是如何工作的?我假设 [status] 正在切换它?
-
@N.Sainsbury 如果将数组分配给变量可能会更清楚:
allStatuses = ["zero","one","two",...,"seven"]。现在document.getElementById('show').innerHTML= allStatuses[status]和mplungjan的建议一样。
标签: javascript function switch-statement