Foros del Web » Programando para Internet » Jquery »

¿Colocarle más segundo a un loading y llamar una función de otro archivo en jquery?

Estas en el tema de ¿Colocarle más segundo a un loading y llamar una función de otro archivo en jquery? en el foro de Jquery en Foros del Web. Buenas noches, estoy trabajando con Ajax cuando hago una consulta muestro un loading para que el usuario sepa que se está haciendo una búsqueda pero ...
  #1 (permalink)  
Antiguo 25/07/2015, 23:18
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 1
¿Colocarle más segundo a un loading y llamar una función de otro archivo en jquery?

Buenas noches, estoy trabajando con Ajax cuando hago una consulta muestro un loading para que el usuario sepa que se está haciendo una búsqueda pero me gustaría que el loading dure un poco más, como podría hacer? Este es el código que tengo con Ajax:
Código:
$.ajax({
	beforeSend: function(){
		$(".bs-example-modal-sm").modal('show');//para mostrar el loading
	}
},
});
También me gustaría saber si de un archivo .js puedo llamar otro archivo .js? es que en un archivo funciones.js tengo una función y me gustaría poder reutilizar, es decir, llamarla desde el archivo nuevo.js
  #2 (permalink)  
Antiguo 26/07/2015, 01:17
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: ¿Colocarle más segundo a un loading y llamar una función de otro archivo e

Podrías retardar la ejecución de la petición con el método .delay().

Lo segundo es posible, pero el archivo en donde está la función debe de ir antes del otro.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 26/07/2015, 20:16
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: ¿Colocarle más segundo a un loading y llamar una función de otro archivo e

Gracias Alexis88 por responderme, estuve leyendo y dicen que se puede utilizar $.getScript para llamar un archivo externo, estaba intentando hacer esto para llamar la función buscarDatos pero me dice esto: buscarDatos is not defined

Y este es el código que estaba utilizando pero no funciona, voy a tener que copia todo el código de la función en el otro archivo para que pueda ejecutarse también porque pensé que se podría hacer como en php que podía llamar la función en un archivo:
Código:
$(document).ready(function(){
if($("#datos").val().length>=1){
$.getScript('/prueba/views/datos /js/datos.js', function(e) {
	buscarDatos(0)   ;
});
}
  #4 (permalink)  
Antiguo 26/07/2015, 22:26
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: ¿Colocarle más segundo a un loading y llamar una función de otro archivo e

Podrías intentar usar la forma clásica:

Código Javascript:
Ver original
  1. var script = document.createElement("script"); //Creo un elemento <script>
  2. script.src = "/prueba/views/datos /js/datos.js"; //Le asigno la ruta del archivo JS
  3. script.type = "text/javascript"; //Indico el tipo de contenido que poseerá
  4.  
  5. document.head.appendChild(script); //Lo añado a la cabecera del documento
  6.  
  7. //Transcurridos 100 milésimas de segundo (0.1 segundos), ejecutará la función
  8. setTimeout(function(){
  9.     buscarDatos(0);
  10. }, 100);

El tiempo que asigno al temporizador es para que podamos ejecutar la función del otro archivo luego de que este haya cargado. Dicho tiempo puede variar. Por ejemplo, si el archivo a añadir contiene muchas líneas de código, como las librerías, quizá tarde un poco más en cargar. Todo sería cuestión de que pruebes y modifiques el valor si es necesario.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: loading, segundo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:21.