Questo secondo programma rassomiglia al precedente, solo che non usa Canvas.
La funzione muove() è definita all'interno della funzione avvia() , viene riconosciuta ed eseguita.
Mentre nel programma precedente la funzione tempo() è definita all'interno di avvia(), non viene riconosciuta come funzione e non viene eseguita.
Perché questa differenza?
Penso che si può definire una funzione all'interno di un'altra. O no? O che si deve fare per definirla all'interno di un'altra?
Grazie.
lanvoel
codice:<!doctype html> <html> <body> <input type="button" value="avvia1" onclick="avvia()"> <input type="button" value="ferma1" onclick="ferma()"> <div id="div0" style="position: absolute; left=0px; top:30px; width:330px; height:180px; border: 3px solid blue;"></div> <div id="div1" style="position: absolute; left=40px; top:35px; width:10px; height:10px; border: 1px solid red;"></div> <div id="div2" style="position: absolute; left=0px; top:220px; width:330px; height:50px; border: 2px solid red";>numero urti:=</div> <script> var cronometro; var sinistra=40; var alto=35; var dir_sin=1; var dir_alto=1; var contaUrti=0; function avvia() { cronometro=window.setInterval("muove()", 10); } function muove() { if (dir_sin==1){ sinistra++; if (sinistra ==330) { document.getElementById("div1").style.background="cyan"; document.getElementById("div0").innerHTML="tic"; document.getElementById("div0").style.background="blue"; document.getElementById("div0").style.color="cyan"; document.getElementById("div2").style.background="red"; dir_sin=-1; contaUrti++; document.getElementById("div2").innerHTML="numero urti= "+contaUrti; }} if(dir_sin==-1){ sinistra--; if(sinistra==10){ document.getElementById("div1").style.background="red"; document.getElementById("div0").style.background="orange"; document.getElementById("div0").innerHTML="toc"; document.getElementById("div0").style.color="yellow"; document.getElementById("div2").style.background="green"; dir_sin=1; contaUrti++; document.getElementById("div2").innerHTML="numero urti= "+contaUrti; }} if (dir_alto==1){ alto++; if (alto ==205) { document.getElementById("div1").style.background="orange"; document.getElementById("div0").style.background="green"; document.getElementById("div0").innerHTML="tac"; document.getElementById("div0").style.color="white"; document.getElementById("div0").style.textAlign="center"; document.getElementById("div0").style.fontSize="50px"; document.getElementById("div0").style.fontFamily="Algerian"; document.getElementById("div2").style.background="red"; dir_alto=-1; contaUrti++; document.getElementById("div2").innerHTML="numero urti= "+contaUrti; }} if(dir_alto==-1){ alto--; if(alto==30){ document.getElementById("div1").style.background="green"; document.getElementById("div0").innerHTML="tec"; document.getElementById("div0").style.color="blue"; document.getElementById("div0").style.background="cyan"; document.getElementById("div2").style.background="orange"; dir_alto=1; contaUrti++; document.getElementById("div2").innerHTML="numero urti= "+contaUrti; }} div1.style.left=sinistra+"px"; div1.style.top=alto+"px"; } function ferma() { clearInterval(cronometro); } </script> </body> </html>

Rispondi quotando