2010-03-13 5 views
5

Necesito agregar algunos controladores de expansión/colapso de estilo accordian a una serie de divisores de contenedor padre en mi aplicación. ¿Es esto algo demasiado simple para una biblioteca como jquery?Divisiones de Expandir/Contraer simples> JQuery?

Ejemplo:

<div class="handleDiv"> expand | collapse 
    <div>child element</div> 
    <div>child element</div> 
</div> 

<div class="handleDiv"> expand | collapse 
    <div>child element</div> 
    <div>child element</div> 
</div> 
+0

http://docs.jquery.com/UI/Accordion –

+0

Es este conjunto de marcas en piedra, o tiene control sobre él? p.ej. ¿Podría envolver los elementos secundarios en un contenedor div? –

+0

@Nick: tengo control total sobre él. –

Respuesta

1

intentar algo como esto:

$('.handleDiv').click(function() { 
    $(this).children().toggle(); 
}); 

Eso va a expandir u ocultar el contenido de los s "handleDiv" al hacer clic en ellos. Sugiero que los enlaces de cosas "expandir | colapsar" y adjuntar el controlador de clic a ellos, sin embargo, por lo que un clic en cualquier lugar en el div no alternar.

Si usted quiere que comienzan cerrado, ya sea estilo cerrados en su hoja de estilos:

.handleDiv div { 
    display: none; 
} 

o agregar un ".hide()" al final del fragmento de jQuery en el comienzo de mi respuesta .

+0

Creo que quieres '.handleDiv div' allí en el CSS –

+0

¡Uy, gracias! Perdí eso. – bhollis

4

Acabo de escribir un complemento para hacer eso.

Ver http://sylvain-hamel.github.io/simple-expand/

+0

Este plugin es excelente, pero los principiantes deben tener en cuenta que el script ' 'debe colocarse en la parte inferior de la página (justo antes de la etiqueta' '). –

+1

Me alegro de que el complemento haya sido de ayuda. Puede poner esta etiqueta de script en cualquier lugar que desee. Pero asegúrese de que la llamada esté en jQuery 'DOM ready' callback:' '. Este es el caso para casi todo lo relacionado con jQuery. – Sylvain

+0

Sylvain es correcto, sin embargo, como novato, tuve que intentar colocar en varias ubicaciones diferentes y en la cabeza es la única vez que funcionó para mí. (por ejemplo, ponerlo en una falla parcial de los rieles en mi caso no funcionó) – Ben

Cuestiones relacionadas