Ceci est une tentative d'afficher le champ de saisie sélectionné avec vanille JS, juste pourrait penser à changer les couleurs d'arrière-plan.Pourquoi le numéro d'entrée ne "déplace" pas la couleur?
En tant que débutant, je ne sais pas si je le fais la meilleure structure. Mais cela me semble plus facile, dans mon projet personnel, il y aura encore plus de champs.
Maintenant, j'ai juste besoin de faire en sorte que la fonction garde une couleur à la fois et ne pas tout sélectionner en même temps. J'ai fait beaucoup de tentatives avec des instructions conditionnelles et des sous-fonctions mais pas de succès jusqu'à présent.
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>
Cet exemple était facile à comprendre et à mettre en œuvre, a pris quelques secondes pour corriger dans mon projet. Et pour la couleur par défaut cette ligne a aussi bien fonctionné: style.background = ""; –