<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