Foros del Web » Programando para Internet » Javascript »

Mandar variable a una función

Estas en el tema de Mandar variable a una función en el foro de Javascript en Foros del Web. Como puedo mandar una variable a una función para no tener que hacer una función para cada sección? @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < ...
  #1 (permalink)  
Antiguo 10/11/2012, 11:56
Avatar de RichBoy  
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 9 meses
Puntos: 7
Mandar variable a una función

Como puedo mandar una variable a una función para no tener que hacer una función para cada sección?

Código HTML:
Ver original
  1. <li class="link-a"><a onclick="autos()"href="#">Autos</a></li>
  2. <li class="link-a"><a onclick="animales()"href="#">Animales</a></li>


Código Javascript:
Ver original
  1. function autos(){}
  2. function animales(){}
  #2 (permalink)  
Antiguo 10/11/2012, 12:28
Avatar de 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

Googlea manejadores de eventos semánticos:

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 unaVariable = "cualquier cosa";
  2.  
  3. function unaFuncionCualquiera(param){
  4.     alert(param);
  5. }
  6.  
  7. window.onload = function(){ //cuando se halla cargado la página
  8. //accedemos al id del elemento html con el método getElementById() del objeto document
  9.     document.getElementById('autos').onclick = function() {
  10.         //usamos la variable global
  11.         alert(unaVariable);                
  12.     }
  13.     document.getElementById('animales').onclick = function(){
  14.         //la pasamos por parametro a una función global (window.unaFuncionCualquiera)
  15.         unaFuncionCualquiera(unaVariable);
  16.     };
  17. }
Espero ayude a responder tu pregunta, cualquier cosa solo dime, saludos.
  #3 (permalink)  
Antiguo 10/11/2012, 12:38
Avatar de RichBoy  
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Mandar variable a una función

Gracia cristian, lo intentare.
  #4 (permalink)  
Antiguo 13/11/2012, 19:59
Avatar de RichBoy  
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Mandar variable a una función

Y eso como se podría hacer con jquery?
  #5 (permalink)  
Antiguo 13/11/2012, 23:08
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Respuesta: Mandar variable a una función

A ver, si estáis empezando no uséis frameworks, y menos un framework mixto de CSS y JS como es jquery. Hay que tener unos buenos cimientos para construir, si te vas a poner a hacer una casa sin cimientos veras que cada poco se te caen las pareces y pedirás ayuda muy recurrentemente.
  #6 (permalink)  
Antiguo 14/11/2012, 00:18
Avatar de RichBoy  
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Mandar variable a una función

:D disfruto estas respuestas XD en serio lo hago, pero lo único que me dicen es: aprende, googlea, lee, pero nada mas, gracias Albuss. Creo que tendré que dejar mi código como esta por el momento,una función para cada sección.
  #7 (permalink)  
Antiguo 14/11/2012, 06:53
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: Mandar variable a una función

Cita:
:D disfruto estas respuestas XD en serio lo hago, pero lo único que me dicen es: aprende, googlea, lee, pero nada mas,
Que es lo que tenés que hacer antes de venir a postear. Porque nosotros no disfrutamos de preguntas como la tuya.

Hasta en el tutorial más básico vas a encontrar

Código:
<span onclick="miFuncion('autos')">Autos</span>
que te saca del apuro.

Y de paso leete algo sobre usos de anclas, para que no tengás que usarlas por un click, y después "anularles" el href.

O "dejá todo como está", porque si no leíste ningún manual antes de meterte a hacerlo, tenés que agradecer que al menos está funcionando.
  #8 (permalink)  
Antiguo 14/11/2012, 13:19
Avatar de 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
  #9 (permalink)  
Antiguo 14/11/2012, 14:54
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: Mandar variable a una función

Es así, yo le puse otras líneas de código elemental para que sintiera un poco de vergüenza por no buscar, pero con tu post tenía palabras clave para entretenerse un buen rato estudiando.

Etiquetas: variables
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 23:30.