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