Puede que sea un idiota, pero ¿cómo se mantienen abiertas varias secciones en el acordeón de jQuery UI? Todas las demostraciones tienen solo una abierta a la vez ... Estoy buscando un sistema de tipo de menú plegable.
javascript
jquery
html
jquery-ui
Caminante
fuente
fuente
Respuestas:
Esto se discutió originalmente en la documentación de jQuery UI para Accordion :
"Puede que sea un idiota": no eres un idiota si no lees la documentación, pero si tienes problemas, generalmente se acelera la búsqueda de una solución.
fuente
Bastante simple:
fuente
create: function(event) { $(event.target).accordion( "activate", false ); }
para empezar a colapsar.create: function(event) { $(event.target).accordion( "activate", false ); }
establecer la opción:{active: false}
Publiqué esto en un hilo similar, pero pensé que podría ser relevante aquí también.
Lograr esto con una sola instancia de jQuery-UI Accordion
Como han señalado otros, el
Accordion
widget no tiene una opción API para hacer esto directamente. Sin embargo, si por alguna razón debe usar el widget (por ejemplo, está manteniendo un sistema existente), es posible lograrlo usando labeforeActivate
opción del controlador de eventos para subvertir y emular el comportamiento predeterminado del widget.Por ejemplo:
Ver una demostración de jsFiddle
fuente
ui-accordion-header-active
¿O incluso más simple?
fuente
He hecho un complemento de jQuery que tiene el mismo aspecto de jQuery UI Accordion y puede mantener todas las pestañas \ secciones abiertas
Lo puedes encontrar aquí
http://anasnakawa.wordpress.com/2011/01/25/jquery-ui-multi-open-accordion/
funciona con el mismo marcado
Código javascript
ACTUALIZACIÓN: el complemento se ha actualizado para admitir la opción de pestañas activas predeterminadas
ACTUALIZACIÓN: este complemento ahora está en desuso.
fuente
En realidad, estuve buscando en Internet una solución a esto durante un tiempo. Y la respuesta aceptada da la buena respuesta "según el libro". Pero no quería aceptar eso, así que seguí buscando y encontré esto:
http://jsbin.com/eqape/1601/edit - Ejemplo en vivo
Este ejemplo extrae los estilos adecuados y agrega la funcionalidad solicitada al mismo tiempo, con espacio para escribir agregue su propia funcionalidad en cada clic del encabezado. También permite que haya varios divs entre los "h3".
Código HTML:
fuente
Encontré una solución complicada. Llamemos a la misma función dos veces pero con ID diferente.
Código JQuery
código HTML
fuente
class
sugerido por otros, esto significa que no se repite ( DRY )Simple, cree múltiples div accordian cada uno representando una etiqueta de ancla como:
Agrega algo de marcado. Pero funciona como un profesional ...
fuente
Simple: active el acordeón a una clase y luego cree divs con esto, como múltiples instancias de acordeón.
Me gusta esto:
JS
HTML
https://jsfiddle.net/sparhawk_odin/pm91whz3/
fuente
Simplemente llame a cada sección del acordeón como su propio acordeón. activo: n será 0 para el primero (por lo que se mostrará) y 1, 2, 3, 4, etc. para el resto. Como cada uno es su propio acordeón, todos tendrán solo una sección, y el resto se colapsará para comenzar.
fuente
Aún más simple, póngalo etiquetado en el atributo de clase de cada etiqueta li y haga que jquery recorra cada li para inicializar el acordeón.
fuente
Sin el acordeón jQuery-UI, uno puede simplemente hacer esto:
Y js
https://jsfiddle.net/gayan_dasanayake/6ogxL7nm/
fuente
abrir jquery-ui - *. js
encontrar
$.widget( "ui.accordion", {
encontrar
_eventHandler: function( event ) {
dentrocambio
a
antes de
active.removeClass( "ui-accordion-header-active ui-state-active" );
agregar
if (typeof(active) !== 'undefined') {
y cerrar}
disfrutar
fuente
Solo usa jquery each () función;
fuente