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>