Foros del Web » Programando para Internet » Javascript »

Como llamar a una funcion

Estas en el tema de Como llamar a una funcion en el foro de Javascript en Foros del Web. Hola a todos, tengo un boton que hace lo siguiente. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function quienesom ( ) {       ...
  #1 (permalink)  
Antiguo 18/05/2011, 18:04
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Como llamar a una funcion

Hola a todos, tengo un boton que hace lo siguiente.

Código Javascript:
Ver original
  1. function quienesom(){
  2.         var S1=document.getElementById('img005');
  3.         var S2=document.getElementById('img006');
  4.         var S3=document.getElementById('mov700');
  5.         var S4=document.getElementById('ser1');
  6.         S1.style.display='none';
  7.         S2.style.display='none';
  8.         S3.style.display='none';
  9.        var q1=document.getElementById('qui1');
  10.        q1.style.display='block';
  11.      
  12. }

En otro boton tengo que pegar lo que es S1. S2. S3., como puedo llamar solamente ese fragmento en otra funcion, ya que sino tengo que copiar y pegar en cada boton que tengo lo mismo.
Espero que se me entienda,
Gracias por adelantado
Saludos a todos
Fede
  #2 (permalink)  
Antiguo 18/05/2011, 19:22
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como llamar a una funcion

Hazte un objeto que cargue los valores en algún otro momento (quizás en el onload) y al que puedas acceder desde tu función:

Código Javascript:
Ver original
  1. elementos = {
  2.     S1 = null,
  3.     S2 = null,
  4.     S3 = null,
  5.     S4 = null,
  6.  
  7.     inicializar : function() {
  8.         elementos.S1=document.getElementById('img005');
  9.         elementos.S2=document.getElementById('img006');
  10.         elementos.S3=document.getElementById('mov700');
  11.         elementos.S4=document.getElementById('ser1');        
  12.     }
  13. }
  14.  
  15. function quienesom(){
  16.         elementos.S1.style.display='none';
  17.         elementos.S2.style.display='none';
  18.         elementos.S3.style.display='none';
  19.        var q1=document.getElementById('qui1');
  20.        q1.style.display='block';
  21. }
  22.  
  23.  
  24. window.onload = function() {
  25.     elementos.inicializar();
  26. }

Ya que estás en eso, quizás quieras poner también la función en un objeto en vez de dejarla como global, así sea nada más por prolijidad.


saludos
  #3 (permalink)  
Antiguo 19/05/2011, 10:44
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: Como llamar a una funcion

Hola, muchas gracias por tu tiempo, esta muy bueno el codigo, me dices que hay otra manera de hacerla mas prolija puede decirme como?, si no es molestia, con lo que me as esplicado esta re bien.

Saludos y gracias.!
Fede
PD: quisas vuelva hacerte unas preguntas....
  #4 (permalink)  
Antiguo 19/05/2011, 11:12
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como llamar a una funcion

Simplemente evitando las funciones globales (que resultan de escribirlas sin estar dentro de un objeto). No te hará ninguna diferencia si lo que necesitás es solamente un par de funciones, pero puede evitarte colisiones de nombres en proyectos grandes. Además contribuye a la modularidad del código.
En este caso podrías, por ejemplo, hacer algo como:

Código Javascript:
Ver original
  1. var MiObjeto = {
  2.     S1 = null,
  3.     ....
  4.  
  5.     inicializar : function() {
  6.         ....
  7.     },
  8.  
  9.     quienessom : function() {
  10.         ....
  11.     }
  12. };

Siempre recordá llamar a todas las funciones y atributos por su nombre completo (ej. MiObjeto.quienessom() )


saludos.
  #5 (permalink)  
Antiguo 19/05/2011, 12:18
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Respuesta: Como llamar a una funcion

Hola, Buenisimo, y es mas simplificado.!!
Muchas gracias.!!!
Saludos
Fede

Etiquetas: funcion
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 16:37.