|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 1864
|
[JS] Una funzione si interrompe dopo un FOR, perchè?
Risolto: Soluzione al post 4
Codice:
for (j=0;j<20;j++){
if (j==id) document.getElementById(tabs[j]).style.display = '';
else document.getElementById(tabs[j]).style.display = 'none';
}
Funziona alla meraviglia però non so come mai dopo la chiusura del for non esegue nessun altro comando, niente, la funzione che contiene questo pezzo si interrompe dopo la } di for C'è qualche errore? Provato in IE7 e FF2 ![]() EDIT: Ho notato che se tolgo la parte .style.display... la funzione va avanti... allora come la devo implementare? Ultima modifica di XSonic : 19-02-2007 alle 02:07. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Poi bisognerebbe vedere cosa contiene l'array tabs e se tutti i div hanno un id corretto.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 1864
|
Questa è la funzione completa
Codice:
var tabs = Array(
'm0',
'main',
'hotel',
'rist',
'gall',
'map',
'plist',
'cont',
'form',
'foto',
'm1',
'm2',
'm3',
'm4',
'm5',
'm6'
);
function mostra(id){
for (j=0;j<20;j++){
if (j==id) document.getElementById(tabs[j]).style.display = '';
else document.getElementById(tabs[j]).style.display = 'none';
}
altrafunzione();
return 0;
}
Cmq diciamo che ho risolto ottimizzando il codice e anteponendo le altre funzioni a questa, però vorrei capire perchè fa così, può servire in altri casi OPS: che caxxata... quando andava a controllare tabs[17] trovava un null e si bloccava Ho risolto mettendo j<16 al posto di j<20 Fortuna che mi hai fatto pensare all'array, grazie! Ultima modifica di XSonic : 04-02-2007 alle 16:34. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 1864
|
Sisi, l'ho notato poco dopo che ho scritto il messaggio #3, sono andato a modificarlo e poi m'han chiamato
Ah, ho dovuto togliere anche return 0 perchè "inspiegabilmente" stampava 0 quando le eseguivo ![]() L'avevo messo per vedere se il problema fosse quello ma... Ultima modifica di XSonic : 04-02-2007 alle 16:52. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:35.





















