Ver Mensaje Individual
  #8 (permalink)  
Antiguo 14/11/2012, 13:19
Avatar de cristian_cena
cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Respuesta: Mandar variable a una función

Coincido en que es bueno que entiendas conceptos como "ámbito o scope", "objetos, herencia y prototipos", "funciones que retornan funciones" y "closures". Por ejemplo saber lo anterior te serviría para entender que, en jquery, on() es un método y que su segundo parámetro es una función callback. En español hay un blog muy bueno que se llama etnasoft en donde tratan lo dicho.
Te comparto un equivalente al código anterior usando jquery:
Código HTML:
Ver original
  1. <li class="link-a"><a id="autos" href="#">Autos</a></li>
  2. <li class="link-a"><a id="animales" href="#">Animales</a></li>
Código Javascript:
Ver original
  1. var variable_global = "soy una propiedad del objeto window!";
  2.  
  3. function funcionGlobal(param){
  4.     return param;
  5. }
  6.  
  7. $(document).on('ready', function(){
  8.     alert("el documento está listo");
  9.     $("#autos").on('click', function(){
  10.        alert(variable_global); //puedes acceder a una variable global desde cualquier punto del script        
  11.     });
  12.     $("#animales").on('click', function(){
  13.         alert(funcionGlobal(variable_global)); //las funciones globales son métodos del objeto window y también pueden ser accedidas desde cualquier punto del script      
  14.     });
  15. });
Por ejemplo, en lugar de usar dos funciones, usas funcionGlobal(), luego si necesitas lógica dentro de ella puedes recibir parámetros y anidarle condicionales (if, else, switch) o alguna estructura de control (while, for)
Suerte con eso.

pd: si te dije "googlea" es porque si pones "manejadores de eventos semanticos" entre los primeros resultados habrá un apartado de un libro de introduccion a javascript de la página librosweb.es en donde explican muy bien como poner cada cosa en su lugar, es decir, separar el código html del javascript. Mezclar código en un mismo documento trae problemas a la hora de volver sobre ese código, simplemente es más dificil de entender (googlea "código espagueti / spaghetti code"). En serio, no hay mala onda, al contrario. Si aún no obtienes la respuesta que esperas, pregunta nuevamente, creo poder ayudarte con esto, pero siempre es un 50% de esfuerzo de cada parte. Abrazo.

Última edición por cristian_cena; 14/11/2012 a las 13:46