|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2008
Messaggi: 729
|
Confronto codici Javascript
Ciao a tutti.. stavo cercando di migliorare uno script per rendere un animazione più fluida.. lo script può partire attraverso vari eventi e per questo all'interno vedete tanti if.. ho creato due versioni la prima quella iniziale e la seconda partendo dalla prima cercando di ottimizzarla.. Credo che l'ottimizzazione non mi sia uscita tanto bene infatti stavo per cancellarla ma poi ho ci ho ripensato e ho calcolato quanti if, assegnamenti e operazioni esegue lo script nei casi peggiori. Ecco i risultati:
1° script If: 6 Assegnamenti: 6 Operazioni: 5 2° script If: 4 Assegnamenti: 2 Operazioni 7 ora sono perfettamente a conoscenza che l'efficenza non si calcola in questo modo e vi sarei grato se qualcuno riuscisse a darmi qualche dritta voi cosa dite? ecco qui gli script: function evento(indice) { if(slot) { slot=false; continua=false; document.getElementById("evento_"+attuale).className="eventi"; //cambio la classe di quello selezionato prima e la imposto come un evento normale prec=attuale; //INDIVIDUO FONTE DELLA CHIAMATA if(isNaN(indice)) { if(indice=="destra") //pulsante Destra { if(attuale<n-1) { attuale++; continua=true; } } else //pulsante Sinistra { if(attuale>0) { attuale--; continua=true; } } } else //pulsante lista { attuale=indice; continua=true; } if(continua) { document.getElementById("evento_"+attuale).className='attuale'; var imm=document.getElementById("immagine"); AnimaTestoFuori(); Ruota(lista[attuale]); intervalID=setInterval("effetto()",40); } else { slot=true; document.getElementById("evento_"+prec).className='attuale'; } } } function evento(indice) { if(slot) { slot=false; document.getElementById("evento_"+attuale).className="eventi"; //cambio la classe di quello selezionato prima e la imposto come un evento normale prec=attuale; //INDIVIDUO FONTE DELLA CHIAMATA if(!isNaN(indice)) //pulsante lista { attuale=indice; document.getElementById("evento_"+attuale).className='attuale'; AnimaTestoFuori(); Ruota(lista[attuale]); intervalID=setInterval("effetto()",40); return; } else if(indice=="destra") //pulsante Destra { if(attuale<n-1) { attuale++; document.getElementById("evento_"+attuale).className='attuale'; AnimaTestoFuori(); Ruota(lista[attuale]); intervalID=setInterval("effetto()",40); return; } } else if(attuale>0) //pulsante Sinistra { attuale--; document.getElementById("evento_"+attuale).className='attuale'; AnimaTestoFuori(); Ruota(lista[attuale]); effetto(); return; } slot=true; document.getElementById("evento_"+prec).className='attuale'; } } |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2008
Messaggi: 729
|
nessuno ha qualche idea?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:09.



















