Buongiorno a tutti,
sono Davide e sono un programmatore PHP, tuttavia per ovvie necessità sto cercando di imparare al meglio il Javascript per necessità impellenti, tuttavia ci sono dei passaggi che mi sfuggono e spero che su questo Forum ci siano persone preparate e disponibili per poter condividere insieme problematiche e intuizioni.
Vorrei intanto capire un passaggio, sto creando un semplicissimo slide dinamico, però ho già trovato le prime difficoltà,
non capisco perchè la funzione prosegue anche con l'istruzione Timeout() non compiendo le azioni per cui era stata inserita.
Vi allego un pò di codice, per cercare di capire dove è l'errore:
window.onload = function(){
// IL PRIMO DIV CREATO SI CHIAMA #container_1 gli altri #container_n
var i = 1;
$('#container_'+i).show(1000);
//INPUT NASCOSTO CON IL NUMERO TOTALE DEI VEICOLI
var ndiv = document.getElementById("n_veicoli").value;
//SCORRO I VEICOLI DA 1 a N_VEICOLI (CIRCA UN CENTINAIO)
for (i = 1; i <= ndiv; i++) {
setTimeout(function() {
$('#container_'+i).hide(1000);
var b = i+1;
$('#container_'+b).show(1000);
},6000);
}
è molto semplice, scorre i veicoli, nasconde il primo e successivamente mostra il ssuccessivo, ripetendolo per il numero di veicoli,
nella mia idea dovrebbe scorrere fermandosi 6 secondi dentro il ciclo, mentre in realtà compie la prima transizione per poi mostrare direttamente l'ultima appena entra nel ciclo e senza aspettare, premesso che so bene che il ciclo termina in maniera erronea, perchè non c'è un controllo sull'ultimo valore, andando così a cercare un div che non esiste, ma come mai questa funzione setTimeout non ferma lo script per i secondi richiesti ??
Grazie in anticipo della possibilità di questa richiesta e delle eventuali spiegazioni che potrò ricevere,
sicuramente è un problema elementare ma ho iniziato ad occuparmi di javascript da neanche un mese,
pertanto sono proprio novizio.
Grazie ancora,
buona giornata
Davide.