Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Alternar funciones javascript

Estas en el tema de Alternar funciones javascript en el foro de Javascript en Foros del Web. Hola amigos de foros del web, este es mi primer mensaje en javascript, ya que no lo uso mucho, pero eh tenido que usarlo y ...
  #1 (permalink)  
Antiguo 09/08/2013, 14:46
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 3 meses
Puntos: 9
Alternar funciones javascript

Hola amigos de foros del web, este es mi primer mensaje en javascript, ya que no lo uso mucho, pero eh tenido que usarlo y no se como alternar funciones

Código Javascript:
Ver original
  1. function ver(nombre){
  2. document.getElementById('nombre'+nombre).style.display="";
  3. }
Esa funcion "Muestra" el div que yo quiero, pero necesito que si se esta mostrando, lo oculte, intente con esto y no pude

Código Javascript:
Ver original
  1. function ver(nombre){
  2. if(document.getElementById('nombre'+nombre).style.display="none";){
  3. document.getElementById('nombre'+nombre).style.display="";
  4. } else {
  5. document.getElementById('nombre'+nombre).style.display="none";
  6. }
  7. }

Podrian iluminarme un poco?
  #2 (permalink)  
Antiguo 09/08/2013, 14:56
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Alternar funciones javascript

Te sobran los ; del if. Además el operador = es para asignar, si queres una comparación tenes que usar == o ===.

Aplicamos un tabulado más propicio:

Código Javascript:
Ver original
  1. function ver(nombre){
  2.     if(document.getElementById('nombre'+nombre).style.display == "none"){
  3.         document.getElementById('nombre'+nombre).style.display =" ";
  4.     } else {
  5.         document.getElementById('nombre'+nombre).style.display =" none";
  6.     }
  7. }

Extraemos en variables aquellas expresiones que se repiten:

Código Javascript:
Ver original
  1. function ver(nombre){
  2.     var element = document.getElementById('nombre' + nombre);
  3.  
  4.     if(element.style.display == "none"){
  5.         element.style.display = "";
  6.     } else {
  7.         element.style.display = "none";
  8.     }
  9. }

Renombramos las variables para una mejor semantica y la hacemos un poco más génerica:

Código Javascript:
Ver original
  1. function toggle(id){
  2.     var element = document.getElementById(id);
  3.    
  4.     if(element.style.display == "none"){
  5.         element.style.display = "";
  6.     } else {
  7.         element.style.display = "none";
  8.     }
  9. }

Y finalmente, si queres mantener el mismo comportamiento, haces una funcion específica para tu caso:

Código Javascript:
Ver original
  1. function ver(nombre) {
  2.     toggle('nombre' + nombre);
  3. }
__________________
blog | @aijoona
  #3 (permalink)  
Antiguo 09/08/2013, 15:00
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 3 meses
Puntos: 9
Respuesta: Alternar funciones javascript

Gracias, las variables las acabo de asignar, me faltaban los "=="

Etiquetas: funcion, funciones
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:18.