Salve, sto tentando di generalizzare un programmino che sposta un div mediante le frecce direzionali della tastiera. Succede che funziona benissimo se il div parte con
Viceversa se inizia con delle coordinate differenti, queste vengono "azzerate" prima di iniziare a spostarsi...codice:position: absolute; top: 0px; left: 0px;
Per quanto riguarda lo spostamento orizzontale...
Analoga situazione per gli spostamenti verticali, se premo la freccia giù il div si porta a top: 50px (evento su keyup e su keydown) anche se parte con top: 250px.codice:if (tasto == 39) { sinistra = Number(sinistra.substring(0, sinistra.length-2)) + 25; // 50 è la larghezza del div if (sinistra <= x - 50) { document.getElementById("guardia").style.left = sinistra + "px"; } } else if (tasto == 37) { sinistra = Number(sinistra.substring(0, sinistra.length-2)) - 25; if (sinistra >= 0) { document.getElementById("guardia").style.left = sinistra + "px"; } }
Letteralmente leggo in Ispeziona di Chrome che al div "guardia" top e left si resettano a 0 prima di incrementarsi e decrementarsi di 25 e poi concatenarsi a "px"...
Dove sbaglio? Grazie.

Rispondi quotando