Sto sgrossando un po' la mia cultura rudimentale in JavaScript, e scopro sempre di aver trovato soluzioni idiote per problemi che, conoscendo meglio il linguaggio, si possono risolvere in modo molto più elegante e funzionale!
Ecco un codice molto migliore per far rimbalzare un oggetto:
<script> var intervallo; var intX=5; var intY=5; function step(oggetto) { var str=oggetto.style.left; var nLeft=Number(str.replace("px","")); var str=oggetto.style.top; var nTop=Number(str.replace("px","")); if ((nLeft>800)||(nLeft<10)) intX=-intX; if ((nTop>500)||(nTop<10)) intY=-intY; oggetto.style.left=nLeft+intX; oggetto.style.top=nTop+intY; } function muovi(oggetto,tempo){ clearInterval(intervallo); intervallo=setInterval(function() {step(oggetto)},tempo); } </script> <body onClick="muovi(document.getElementById('testo'),10)"> <img id="testo" src="pallone.gif" style="left:10px;top:50px;width:50px;height:50px;position:absolute" /> </body>
Il problema è che devo usare variabili globali, e questo mi crea grossi problemi per creare multipli oggetti in movimento!
Ho fatto un po' di ricerche e un po' di ragionamenti, che mi hanno condotto a un certo argomento...
Nessun commento:
Posta un commento