Autor Tema: Funciones externas de Jquery ¿insertar varias en $(document).ready(function()?  (Leído 5114 veces)

duralai

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 35
    • Ver Perfil
Hola, tengo 2 dudas con Jquery.

La primera es si al añadir un archivo externo es necesario escribir la sentencia "Document.ready" o solo hay que hacerlo 1 vez?

y la segunda es si se puede lograr que una función se ejecute ANTES de cargar el documento,, por ejemplo tengo 1 función que cambia los Atributos SRC de varios elementos, por eso me gustaría que se ejecute antes de cargar.

Gracias de antemano, saludos!
« Última modificación: 05 de Abril 2017, 21:32 por Ogramar »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Duda con funciones externas de Jquery
« Respuesta #1 en: 01 de Febrero 2017, 22:47 »
Hola duralai.

Lo aconsejable sería usarlo dentro de "$(document).ready()", pero obligatorio no es, puedes probar las diferencias entre hacerlo de una forma u otra.

Si colocamos el script en el head y usando "$(document).ready()", este pequeño código:
Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>aprenderaprogramar.com</title>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#prueba').css('color', 'blue');
});
</script>
</head>
<body>
<div id="prueba">
aprendeaprogramar.com
</div>
</body>
</html>
cambiará el color del texto, pero si no usáramos "$(document).ready()", el texto no cambiará de color.

Si colocamos el script dentro del body antes de cargar el div al que queremos cambiar el color del texto y sin usar "$(document).ready()":
Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>aprenderaprogramar.com</title>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$('#prueba').css('color', 'blue');
</script>
<div id="prueba">
aprendeaprogramar.com
</div>
</body>
</html>
No cambiaría el color, en cambio si lo colamos después del div al que tiene que afectar si se cambiará el color del texto.

La conclusión es que no puedes cambiar las propiedades de algo que no se ha creado.

Saludos. ;D

duralai

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 35
    • Ver Perfil
Re:Duda con funciones externas de Jquery
« Respuesta #2 en: 02 de Febrero 2017, 03:06 »
Hola Pedro, yo me refería a las funciones de un archivo.js externo, cargado con src en el documento html.

En este archivo externo tengo varias funciones, y  todas tienen la parte de $(document).ready(function()).
Funcion A : $(document).ready(function())........
Funcion B : $(document).ready(function())........
Funcion C : $(document).ready(function())........

Es decir, cada función se ejecuta después de cargarse todo el documento, y lo que yo me preguntaba es si es necesario escribir en cada función la parte de Document.ready , o puede escribirse todo dentro de otra única función que sea la única que tenga la parte de Document.ready?

Lo de Document.ready lo entiendo perfectamente , es decir se le indica al navegador que ejecute X funcion/es solo después de haberse cargado por completo el documento, y así evitar que el/los scripts se encuentren con elementos aun no creados.





pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Duda con funciones externas de Jquery
« Respuesta #3 en: 02 de Febrero 2017, 17:15 »
No te entendí bien entonces.

Bueno, a lo que preguntas responderte que si, que puedes poner todas las funciones dentro de un solo $(document).ready(function()..

Código: [Seleccionar]
$(document).ready(function(){
  Funcion A...
          Funcion B...
          Funcion C ...
          ...
})

Saludos. ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".