¿Cómo puedo en jQuery probar cuando una función de Javascript está completamente cargada? Me gustaría usar un gif, que muestra carga, mientras se carga la función javascript, y ocultarlo cuando la función está completamente cargada.Espere hasta que se cargue la función
Respuesta
$(function(){
$("#loadingGIF").show();
WaitForFunction();
});
function WaitForFunction()
{
if (!$.isFunction(FUNCTION_TO_WAIT_ON_HERE)) {
setTimeout(WaitForFunction, 100);
return;
}
Function_Loaded();
}
function Function_Loaded(){
$("#loadingGIF").hide();
}
¿No sería mejor un bucle aquí que la recursión? Por supuesto, no debería tomar demasiado tiempo descargar la secuencia de comandos, pero si hay un error de red la pila se desbordará y el rendimiento disminuirá o el navegador se bloqueará. –
No hay recursividad en el código que publiqué. –
Esto es tanto un bucle como una recursión. Es un bucle condicional (no un 'for' o' while'), y se está llamando a sí mismo, por lo que es recursivo. El hecho de que haya un retraso no lo hace menos recursivo y toda recursión tiene una condición de detención; de lo contrario, habría un ciclo infinito. – vol7ron
Simplemente intégrese después de definir la función. Las instrucciones posteriores a la definición de la función solo se ejecutarán después de que el texto fuente anterior sea leído (y así ejecutado).
eso no es lo que se preguntó, usted está asumiendo que no está cargando dinámicamente una secuencia de comandos a través de $ .getScript –
no estoy seguro de lo que entendemos por carga, pero el siguiente debe aplicarse de todos modos:
- Al iniciar cargar el código JavaScript, mostrar el GIF
- En el código se carga, agregar una declaración para ocultar el GIF al final
Esto debería resolver su problema de una manera "simple" sin tener que utilizar temporizadores, etc.
- 1. Espere a que TinyMCE cargue
- 2. Espere a que se cargue la imagen antes de continuar
- 3. Espere hasta que se haya completado .append()
- 4. Espere la función hasta que el usuario deje de escribir
- 5. jQuery Añadir archivo CSS y esperar hasta que se cargue?
- 6. Espere hasta que QWidget cierre
- 7. QML: espere hasta que finalicen las animaciones
- 8. Espere hasta que la página se cargue antes de leer los contenidos de una URL en Java
- 9. EC2 Java Api Espere hasta que se cree Ec2 Instance.
- 10. espere hasta que wifi se conecte a android
- 11. Espere hasta que Application.Calculate haya terminado
- 12. jQuery Ajax espere hasta que se carguen todas las imágenes
- 13. Extensión de Google Chrome: espera hasta que la página cargue
- 14. ¿Cómo puedo hacer que la ejecución del código JavaScript espere hasta que se cargue y ejecute una solicitud AJAX con script?
- 15. Java: espere el proceso de ejecución hasta que salga
- 16. Ejecute una aplicación con PowerShell y espere hasta que finalice
- 17. jQuery Espere hasta que las llamadas async ajax hayan finalizado
- 18. Inicie la aplicación externa con ShellExecuteEx y espere hasta que se inicialice
- 19. ¿Las referencias javascript externas hacen que el navegador espere hasta que se descarguen?
- 20. ¿Cómo hacer que jQuery espere hasta que se termine un efecto?
- 21. ¿Cómo hacer que MainThread espere hasta que se realice alguna acción asíncrona?
- 22. ¿Por qué un módulo no se podría salvar hasta que se cargue otro módulo?
- 23. Delegado - Excepciones No espere hasta llamar EndInvoke()
- 24. espere hasta que se carguen las imágenes en segundo plano (css)
- 25. Espere a que se completen los subprocesos
- 26. espere a que se conecte gdb
- 27. onSaveInstanceState/onPause: espere hasta que el estado se guarde completamente antes de permitir que se mate el proceso
- 28. Espere a que QueueUserWorkItem complete
- 29. VBScript - ¿Cómo hacer que el programa espere hasta que el proceso haya finalizado?
- 30. Caracteres extraños en Javascript que causan que no se cargue
Consulte una pregunta similar que muestra un gif animado mientras ejecuta una función: http://stackoverflow.com/questions/210821/how-can-i-give-control-back-briefly-to-the-browser-during-intensive -javascript –
¿Quiere decir "cargado" como en "cuando la función se ha descargado", o más como "cuando la función ha completado la ejecución"? – nickf