Estoy intentando agrupar algunas funciones de nivel superior existentes dentro de un cierre (para evitar contaminar el espacio de nombre global) pero no estoy del todo haciendo que funcione.Cierre/alcance JavaScript/jQuery
En primer lugar, todos los JS funcionan fuera de mi función anónima, pero una vez que pongo en la función anónima me sale un error de "crossfade no está definido". ¿Alguien ve algo completamente obvio que estoy desaparecidos?
No entiendo por qué el setInterval/crossfade funciona fuera de la función anónima pero no dentro. Cualquier cosa dentro de start() debería ser capaz de ver vars/functions fuera de start() y debería estar protegido en el cierre creado por la función anónima de nivel superior? No estoy tratando de acceder a nada dentro de crossfade(), solo estoy tratando de ejecutarlo.
(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);
Muchas gracias, esto funciona para mí. –