Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Posción de <script type="text/javascript" src="JS/motor.js"></script>

Estas en el tema de Posción de <script type="text/javascript" src="JS/motor.js"></script> en el foro de Javascript en Foros del Web. Lo primero de todo presentarme a la comunidad, desde hace cosa de un mes me he puesto a full a aprender HTML, CSS, JS... y ...
  #1 (permalink)  
Antiguo 11/11/2015, 16:54
 
Fecha de Ingreso: noviembre-2015
Ubicación: Mallorca
Mensajes: 20
Antigüedad: 8 años, 5 meses
Puntos: 1
Posción de <script type="text/javascript" src="JS/motor.js"></script>

Lo primero de todo presentarme a la comunidad, desde hace cosa de un mes me he puesto a full a aprender HTML, CSS, JS... y la verdad aun estoy muy verde, pero mmi intención es aprender y algún día poder contestar yo a preguntas.

LA PREGUNTA:

La cosa es que quiero crear un desplegable, y encontré está explicación que es perfecta.

Código HTML:
http://web.ontuts.com/tutoriales/creando-un-menu-desplegable-en-jquery/
La cosa es que yo para aprender, decidí cortar y pegar su código en el mio propio y empezar a trastear para intentar enterderlo al máximo.

Mi primera gran sorpresa fue, que inicialmente no bastó con cortar y pegar puesto que la parte de HTML y CSS si funcionaban pero la de JS no, y tras dar un par de vueltas me di cuenta que para que funcionase yo tengo que declarar:

Código:
<script type="text/javascript" src="JS/jquery.js"></script>
<script type="text/javascript" src="JS/main.js"></script>
Al final de mi body.... Cuando yo inicialmente lo había hecho en mi head, que es donde había entendido se tenía que hacer al igual que la hoja de estilos que vas a emplear, según había leido estos días.

Mi pregunta es básicamente, porque se tiene que declarar al final, o mejor dicho, en función de que varía el lugar donde lo declaro.

Disculpad mis conocimientos tan bajos. MUCHAS GRACIAS!
  #2 (permalink)  
Antiguo 11/11/2015, 19:24
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Posción de <script type="text/javascript" src="JS/motor.js"></script>

Bienvenido a Foros del Web.

Sucede que el código se interpreta de arriba hacia abajo, entonces, si el código JS se encuentra antes que los elementos a los cuales se quiere afectar, lo que sucederá será que primero cargará el código JS y luego los elementos del documento, generando que estos no se vean afectados por el código JS ya que no existían cuando el primero ya había cargado.

Una solución simple es colocar el código luego de todos los elementos, pero también puedes ejecutar una función luego de que carguen los elementos, momento en el cual se produce el evento DOMContentLoaded.

Código Javascript:
Ver original
  1. document.addEventListener("DOMContentLoaded", function(){
  2.     //Instrucciones a ejecutar
  3. }, false);

Cabe señalar que este evento se produce cuando han cargado los elementos del documento, mas no el contenido multimedia que pudiera haber, dígase fotografías, audio o vídeos.

P. D.: Como utilizas la librería jQuery, puedes usar el método .ready() el cual tiene un comportamiento muy similar al script señalado líneas arriba.

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     //Instrucciones a ejecutar
  3. });

Un saludo
__________________
«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: funcion, html, js
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 15:22.