<script> function oggetto(nome){ var MioNome=nome; var Sinistra=Number((document.getElementById(MioNome).style.left).replace("px","")); var Alto=Number((document.getElementById(MioNome).style.top).replace("px","")); var Larghezza=Number((document.getElementById(MioNome).style.width).replace("px","")); var Altezza=Number((document.getElementById(MioNome).style.height).replace("px","")); var Intervallo; var dirX="destra", dirY="alto" this.step=function(intX,intY){ if(Sinistra>300) dirX="sinistra"; if(Sinistra<0) dirX="destra" if(dirX=="sinistra") intX=-intX; if(dirX=="destra") intX=intX; if(Alto>300) dirY="alto"; if(Alto<0) dirY="basso" if(dirY=="alto") intY=-intY; if(dirX=="basso") intY=intY; Sinistra+=intX Alto+=intY document.getElementById(MioNome).style.left=Sinistra; document.getElementById(MioNome).style.top=Alto; } this.muovi=function(tempo, intX, intY){ clearInterval(Intervallo); Intervallo=window.setInterval(function(oggetto){oggetto.step(intX, intY)},tempo,this); } this.inter=function(){ clearInterval(Intervallo); } } function crea(){ for(var n=0;n<document.getElementsByTagName("img").length;n++) { var DivId=document.getElementsByTagName("img")[n].id; window[DivId] = new oggetto(DivId); } } function clic(e){ window[e.currentTarget.id].muovi(1,1,1); } function over(e){ window[e.currentTarget.id].inter(); } </script> <body onLoad="crea();"> <img id="ciccio" style="width:50px;height:50px;position:absolute;top:0px" src="pallone.gif" onClick="clic(event)" onMouseOver="over(event)"> <img id="pippo" style="width:50px;height:50px;position:absolute;top:100px" src="pallone.gif" onClick="clic(event)" onMouseOver="over(event)"> <img id="mimmo" style="width:50px;height:50px;position:absolute;top:200px" src="pallone.gif" onClick="clic(event)" onMouseOver="over(event)"> </body>In blu tutto il codice che ho dovuto aggiungere. Ho dovuto creare due variabili dirX e dirY esterne al metodo step() altrimenti a ogni ripetizione del metodo dietro la direzione del setInterval il valore delle variabili sarebbe stato resettato.
Miei appunti liberi, senza pretesa di dire necessariamente sempre cose giuste o sensate, durante l'apprendimento e la pratica della programmazione
JavascriptProva
martedì 17 gennaio 2012
Aggiunta di argomenti ai metodi: l'entità del singolo spostamento come parametri esterni all'oggetto.
Aggiungo come parametri esterni anche l'entità dello spostamento dell'oggetto in orizzontale e in verticale.
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento