javascript - 为什么输入的数字不是 "move"的颜色?

标签 javascript input colors background numbers

这是一次尝试显示使用 vanilla JS 选择的输入字段,只是可以考虑更改背景颜色。

作为初学者,我不知道我是否正在做最好的结构。但对我来说听起来更容易,在我的个人项目中将会涉及更多领域。

现在我只需要让函数一次保留一种颜色,而不是一次选择所有颜色。我对条件语句和子函数进行了多次尝试,但到目前为止没有成功。

pointer/selector image for index JS fiddle

var sel = document.querySelectorAll("input.arr");
var rcvVal = document.getElementById("ini");
var ini = document.getElementById("ini");
var arrLength = document.getElementsByClassName("arr");

ini.addEventListener("click", selector, true);

function selector() {
  var current = rcvVal.value - 1; //-1 for position 0
  if (rcvVal.value - 1 == current) {
    sel[rcvVal.value - 1].style.background = "#0D0";
    }else{
      for (var i = 0; i <= arrLength.length; i++) {
        sel[i].style.background = "lightblue";//go back to page previous/default color
      }
 }
  document.getElementById("demo").innerHTML = "position: " + rcvVal.value + "/"+arrLength.length;
  //check position/length
}

selector(); //First run
input {
  width: 50px;
  background: lightblue;
  /*default color*/
  border-style: none;
  opacity: 1;
}

input[type=number]::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  opacity: 1;
    padding:3px 3px;  
}
Move one green color among input fields <br>
<input style=background:#E70; type="number" value="3" id="ini" class="first" min="1" max="5"> Selector
<br>
<br>
<input type="number" value="10" class="arr">
<input type="number" value="20" class="arr">
<input type="number" value="30" class="arr">
<input type="number" value="40" class="arr">
<input type="number" value="50" class="arr">

<p id="demo"></p>

最佳答案

这是因为您设置了 current = rcvVal.value - 1,然后立即检查 current 是否等于 rcvVal.value - 1 。当然,这总是正确的,因此永远不会到达在 else 子句中重置颜色的循环。

您应该摆脱 if/else 语句,而只需运行循环来清除所有颜色,然后设置绿色。

关于javascript - 为什么输入的数字不是 "move"的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45156054/

相关文章:

javascript - 为什么这没有在 MySQL 数据库中添加用户 ID?

linux - 如何从脚本的纯色图像中获取十六进制颜色代码?

c++ - 检查输入的类型是否正确

javascript - 输入值 - 未定义或未显示

c++ - 实现非成员 IO 操作符

c# - 更改禁用组合框的前景色

algorithm - 如何找到起始颜色进行混色操作

javascript - 在函数执行之间保留变量 (Javascript)

javascript - 从第二级 iframe 中选择根文档

javascript - AngularJS 更改 css 属性值