Eu posso ser um idiota, mas como você mantém várias seções do acordeão do jQuery UI abertas? Todas as demos têm apenas uma aberta por vez ... Estou procurando um sistema de tipo de menu que pode ser recolhido.
javascript
jquery
html
jquery-ui
andador
fonte
fonte
Respostas:
Isso foi discutido originalmente na documentação do jQuery UI para Accordion :
"Eu posso ser um idiota" - Você não é um idiota se não ler a documentação, mas se estiver tendo problemas, geralmente acelera a busca de uma solução.
fonte
Bem simples:
fonte
create: function(event) { $(event.target).accordion( "activate", false ); }
para começar recolhido.create: function(event) { $(event.target).accordion( "activate", false ); }
definir a opção:{active: false}
Postou isso em um tópico semelhante, mas pensei que poderia ser relevante aqui também.
Conseguir isso com uma única instância de jQuery-UI Accordion
Como outros notaram, o
Accordion
widget não tem uma opção de API para fazer isso diretamente. No entanto, se por algum motivo você precisar usar o widget (por exemplo, se estiver mantendo um sistema existente), é possível fazer isso usando abeforeActivate
opção do manipulador de eventos para subverter e emular o comportamento padrão do widget.Por exemplo:
Veja uma demonstração do jsFiddle
fonte
ui-accordion-header-active
Ou ainda mais simples?
fonte
Eu fiz um plugin jQuery que tem a mesma aparência do jQuery UI Accordion e pode manter todas as guias \ seções abertas
Você pode encontrá-lo aqui
http://anasnakawa.wordpress.com/2011/01/25/jquery-ui-multi-open-accordion/
funciona com a mesma marcação
Código Javascript
ATUALIZAÇÃO: o plugin foi atualizado para suportar a opção de abas ativas padrão
ATUALIZAÇÃO: Este plugin está obsoleto.
fonte
Na verdade, estava pesquisando na internet por uma solução para isso por um tempo. E a resposta aceita dá a boa resposta "pelo manual". Mas eu não queria aceitar isso, então continuei pesquisando e encontrei o seguinte:
http://jsbin.com/eqape/1601/edit - Exemplo ao vivo
Este exemplo puxa os estilos adequados e adiciona a funcionalidade solicitada ao mesmo tempo, completa com espaço para adicionar sua própria funcionalidade em cada clique no cabeçalho. Também permite que vários divs estejam entre os "h3" s.
Código HTML:
fonte
Eu encontrei uma solução complicada. Vamos chamar a mesma função duas vezes, mas com id diferente.
Código JQuery
Código HTML
fonte
class
como sugerido por outros, isso significa que você não se repete ( DRY )Simples, crie vários div de acordo com cada um representando uma tag âncora como:
Adiciona alguma marcação. Mas funciona como um profissional ...
fonte
Simples: ative o acordeão para uma classe e, em seguida, crie divs com isso, como instâncias múltiplas de acordeão.
Como isso:
JS
HTML
https://jsfiddle.net/sparhawk_odin/pm91whz3/
fonte
Basta chamar cada seção do acordeão como seu próprio acordeão. ativo: n será 0 para o primeiro (assim será exibido) e 1, 2, 3, 4, etc. para o resto. Como cada um é seu próprio acordeão, todos terão apenas 1 seção e o restante será recolhido para iniciar.
fonte
Ainda mais simples, tenha-o rotulado em cada atributo de classe da tag li e tenha jquery para fazer um loop por cada li para inicializar o acordeão.
fonte
Sem o acordeão jQuery-UI, pode-se simplesmente fazer isso:
E js
https://jsfiddle.net/gayan_dasanayake/6ogxL7nm/
fonte
abrir jquery-ui - *. js
encontrar
$.widget( "ui.accordion", {
encontrar
_eventHandler: function( event ) {
dentromudança
para
antes
active.removeClass( "ui-accordion-header-active ui-state-active" );
adicionar
if (typeof(active) !== 'undefined') {
e fechar}
desfrutar
fonte
Você apenas usa a função jquery each ();
fonte