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
codice:
position: absolute;
top: 0px;
left: 0px;
Viceversa se inizia con delle coordinate differenti, queste vengono "azzerate" prima di iniziare a spostarsi...
Per quanto riguarda lo spostamento orizzontale...
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";
}
}
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.
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.