Estoy haciendo un tablero de puntuación basado en HTML para un evento deportivo. El número (0-9) se mostrará en un iPad que ejecute este código:
<script type="text/javascript"> var clicks = 0; function helloup() { clicks += 1; document.getElementById("clicks").innerHTML = clicks; }; function hellodown() { clicks -= 1; document.getElementById("clicks").innerHTML = clicks; }; </script> <em onClick="hellodown()">Blue</em> <strong id="clicks">0</strong> <i onClick="helloup()">Score!</i>Esto funciona muy bien; espero que solo quiera que siempre muestre solo 1 dígito. Es decir, cuando llega a 10, debería ser 0.
Un amigo mío mencionó el uso de módulo o resto, pero no puedo entender qué es qué y cómo entraría en el código.
Cualquier ayuda muy apreciada.
Hay múltiples soluciones posibles:
var clicks = 0; function helloup() { clicks = (clicks + 1) % 10; document.getElementById("clicks").innerHTML = clicks; }; function hellodown() { clicks = (clicks - 1) % 10; document.getElementById("clicks").innerHTML = clicks; }; Nota:
hellodown seguirá dando como resultado -1,...,-9 .
clicks var clicks = 0; function helloup() { clicks += 1; if(clicks >= 10) { clicks = 1; } document.getElementById("clicks").innerHTML = clicks; }; function hellodown() { clicks -= 1; if(clicks <= 0) { clicks = 9; } document.getElementById("clicks").innerHTML = clicks; };