@Alexis88 : gracias sobre todo por haberte puesto a ver esto a tan altas horas de la madrugada
Si te fijas se sigue acelerando pues se siguen disparando eventos y estos llamando a nuevas instancias de la funcion que mueve al div
Cita: Lo que hice fue declarar el contador por fuera de la función y dentro de ella aumentarla, así aíslo su valor y por ende, el elemento se desplaza.
Lo mismo hice yo y de hecho al usar setInterval() con una funcion anonima
se termina formando un "closure" que hace que el valor de i se conserve dentro de esa funcion interna y se pueda incrementar con cada nueva llamada
por ser la implementacion de setInterval() de tipo recursiva.
Por eso.. la sugerencia de setTiemeout() hace que las cosas se compliquen en el sentido de que ahora toca armar otra vez un closure para resolver el hecho de que no hay recursividad en su implementacion.
Veo tampoco lo hiciste con setTiemeout() y me gustaria saber si lograas superar el "escollo" y aprender de la solucion.