Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Plegar desplegable al pulsar en otro desplegable hermano

Estas en el tema de Plegar desplegable al pulsar en otro desplegable hermano en el foro de Jquery en Foros del Web. Hola, Tengo unos desplegables en los cuales pulsas un boton que cambia la clase para mostrar un icono y otro, funcionan bien pero voy desplegando ...
  #1 (permalink)  
Antiguo 19/02/2014, 10:31
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Plegar desplegable al pulsar en otro desplegable hermano

Hola,

Tengo unos desplegables en los cuales pulsas un boton que cambia la clase para mostrar un icono y otro, funcionan bien pero voy desplegando y si pincho en otro el anterior se queda desplegado y hay que volver a pulsas para cerrarlo, lo que quiero es que aunque haya un desplegable abierto si pulsas en otro se cierre y te abra el nuevo.

de momento tengo la funcion para el desplegable as:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $('.btn_tabla_desplegar').click(function(){
  3.         $('.subcontenido_habilidades').hide;
  4.         $(this).toggleClass('plegar_contenido');
  5.         $(this).parent().next('.subcontenido_habilidades').toggle();
  6.     });
  7. });

He pensado en primero cerrar todo con un hide y luego abrir al pinchar pero no se muy bien como hacerlo.

Saludos
  #2 (permalink)  
Antiguo 19/02/2014, 15:20
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: Plegar desplegable al pulsar en otro desplegable hermano

¿Puedes poner el html correspondiente para tener una idea de la estructura?

Un saludo.
  #3 (permalink)  
Antiguo 20/02/2014, 10:36
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Plegar desplegable al pulsar en otro desplegable hermano

Buenas, disculpa por no haber puesto el html, al final lo he solucionado con lo siguiente:

Código Javascript:
Ver original
  1. $('.btn_desplegable_habilidades').click(function(){
  2. $('.btn_desplegable_habilidades').parent().next('.subcontenido_habilidades').hide();
  3.         $(this).parent().next('.subcontenido_habilidades').toggle();
  4.         if (!($(this).hasClass('plegar_contenido'))) {
  5.             $(this).parent().next('.subcontenido_habilidades').hide();
  6.             $('.btn_desplegable_habilidades').addClass('plegar_contenido');
  7.         } else {
  8.             $('.btn_desplegable_habilidades').addClass('plegar_contenido');
  9.             $(this).removeClass('plegar_contenido');
  10.             $(this).parent().next('.subcontenido_habilidades').show();
  11.         }
  12.     });

Creo que el código se entiende bien, doy la respuesta por solucionada y te doy voto por tratar de ayudarme.

Etiquetas: desplegable, pulsar
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 18:15.