Sto cercando di raggruppare alcune funzioni di primo livello esistenti all'interno di una chiusura (per evitare di inquinare lo spazio dei nomi globale) ma non sono del tutto farlo funzionare.Chiusura/scope JavaScript/jQuery
Innanzitutto, tutto il JS funziona fuori dalla mia funzione anonima, ma una volta inserito lo nella funzione anonima, viene visualizzato un errore "il crossfade non è definito come ". Qualcuno vede qualcosa di completamente ovvio che io sono mancante?
Non riesco a capire perché il setInterval/crossfade funziona all'esterno della funzione anonima ma non all'interno. Qualunque cosa all'interno start() dovrebbe essere in grado di vedere le vars/funzioni all'esterno start() e dovrebbe essere tutto protetto nella chiusura creata dalla funzione anonima di primo livello? Non sto tentando di accedere a qualsiasi cosa all'interno del crossfade(), sono appena cercando di eseguirlo.
(function($) {
//vars up here that internal functions can access
//also using some jquery inside here, so using $
function crossfade() {
//body here
}
//other functions
function start() {
//body here
cInterval = setInterval('crossfade()', 5000);
}
})(jQuery);
Grazie mille per me. –