Quiero hacer que un disparador agregue un efecto de puntuación cuando cambie la puntuación del usuario.
Aquí está el código que tengo actualmente:
let speed = 200; let div = document.querySelector('div') let olddiv = parseFloat(div.textContent) let interval; function change(increase){ let add = increase/speed interval = setInterval(function(){ div.textContent = parseFloat(div.textContent) +add; if(div.textContent > olddiv + increase){ div.textContent = olddiv+ increase window.clearInterval(interval) } },1) } change(5000)
<div>1000</div>
El código funciona bien, pero agrego 25 (aumento/valor de velocidad) por milisegundos.
Quiero hacer la puntuación sumando 1 cada vez. Intenté usar for
loop, pero for
loop no muestra el efecto de adición.
Además, dado que setInterval
no acepta milisegundos por debajo de 1, tampoco puedo usar este código (este código se ejecutará 1 ms cada vez que sea demasiado lento).
let speed = 200; let div = document.querySelector('div') let olddiv = parseFloat(div.textContent) let interval; function change(increase){ let addspeed = speed/increase; interval = setInterval(function(){ div.textContent = parseFloat(div.textContent) +1; if(div.textContent > olddiv + increase){ div.textContent = olddiv+ increase window.clearInterval(interval) } },addspeed) } change(5000)
<div>1000</div>
¿Alguien podría darme alguna solución para resolver este problema?
¡Gracias por cualquier respuesta!