02/07/2023
- Introduktion til jQuery Mobile Collapsible
- Grundlæggende Collapsible
- Tilpasning: Temaer, Ekspansion, Ikoner og Ikonplacering
- Indlejrede Collapsibles
- Collapsible Sæt (Accordeons)
- Sammenligning af Collapsible Typer
- CSS Klasser og Stilarter
- Deprecering og Fremtidige Overvejelser
- Ofte Stillede Spørgsmål (FAQ)
- Konklusion
Introduktion til jQuery Mobile Collapsible
I en verden hvor mobiltelefoner er vores primære adgangspunkt til information, er det essentielt at designe brugergrænseflader, der er både effektive og intuitive. jQuery Mobile adresserer netop dette behov med sin alsidige Collapsible-widget. Denne widget giver udviklere mulighed for at skabe indholdspaneler, der kan udvides og skjules ved et simpelt klik. Dette er særligt nyttigt på mobile enheder, hvor skærmpladsen er begrænset, og hvor en kompakt præsentation af information kan gøre en stor forskel for brugeroplevelsen. Ved blot at tildele attributten data-role="collapsible" til en container, kan du transformere almindeligt indhold til et interaktivt og pladsbesparende element.

Grundlæggende Collapsible
Det grundlæggende princip bag jQuery Mobiles Collapsible er enkelt. Inden i en container med data-role="collapsible" kan du inkludere en header, typisk et <h3>-element eller et <legend>. jQuery Mobile styler automatisk denne header, så den ligner en klikbar knap, og tilføjer et '+' ikon til venstre for headeren for at indikere, at indholdet kan udvides. Alt HTML-indhold, der placeres efter headeren, vil blive det indhold, der vises eller skjules. Som standard er dette indhold skjult. Når brugeren klikker på headeren, udvides indholdet, og '+' ikonet skifter til et '-' ikon, hvilket signalerer, at indholdet nu er synligt og kan skjules igen ved et nyt klik.
Lad os illustrere dette med et simpelt eksempel:
<div data-role="collapsible"> <h3>Klik her for at se indhold</h3> <p>Dette er det indhold, der bliver vist eller skjult.</p> </div>Når denne kode vises i en browser, vil du se en header, der ligner en knap med et '+' ikon. Ved at klikke på denne header, vil paragrafen med teksten "Dette er det indhold, der bliver vist eller skjult." blive synlig under headeren, og ikonet vil ændre sig til et '-'. Klikker du igen, skjules indholdet, og ikonet vender tilbage til '+'.
Tilpasning: Temaer, Ekspansion, Ikoner og Ikonplacering
jQuery Mobile tilbyder omfattende muligheder for at tilpasse udseendet og adfærden af dine collapsible elementer. Hvis du ønsker, at indholdet skal være synligt, når siden indlæses, kan du simpelthen tilføje attributten data-collapsed="false" til din container. Dette sikrer, at brugeren straks ser indholdet uden at skulle klikke på headeren først.
Ligesom med knapper kan du anvende forskellige temaer på dine collapsible elementer ved at bruge attributten data-theme. Dette giver dig mulighed for at matche collapsible elementernes udseende med resten af din sides design. Du kan også ændre standardikonerne for collapsible headers ved at bruge attributterne data-collapsed-icon og data-expanded-icon. jQuery Mobile leveres med et sæt af standardikoner, som du kan vælge imellem, såsom pile eller andre visuelle indikatorer for ekspansion og kollaps.
Desuden kan du styre placeringen af ikonet ved hjælp af attributten data-iconpos. Standardplaceringen er til venstre, men du kan ændre den til højre ved at sætte værdien til "right". Dette kan være nyttigt for at opnå et bestemt layout eller for at forbedre brugerens visuelle oplevelse.
Her er et eksempel, der demonstrerer disse tilpasningsmuligheder:
<div data-role="collapsible" data-collapsed="false" data-theme="b" data-content-theme="c" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" data-iconpos="right"> <h3>Udvidet med tilpasninger</h3> <p>Dette collapsible element er som standard udvidet, har tema 'b' for headeren, tema 'c' for indholdet, bruger pileikoner og har ikonet placeret til højre.</p> </div>Dette eksempel viser et collapsible element, der starter udvidet, har specifikke temaer for både header og indhold, bruger pilikoner og placerer ikonet til højre.
Indlejrede Collapsibles
jQuery Mobile understøtter også indlejrede collapsibles, hvilket betyder, at du kan placere et collapsible element inde i et andet. Dette er en kraftfuld funktion, der giver dig mulighed for at skabe hierarkiske strukturer og organisere komplekst indhold på en overskuelig måde. Hvert niveau af indlejring kan have sine egne tilpasninger, hvilket giver stor fleksibilitet i designet.
Overvej følgende eksempel på indlejrede collapsibles:
<div data-role="collapsible" data-theme="a"> <h3>Ydre Collapsible (Tema A)</h3> <p>Dette er indholdet af det ydre collapsible element.</p> <div data-role="collapsible" data-theme="b"> <h3>Indre Collapsible (Tema B)</h3> <p>Dette er indholdet af det indre collapsible element.</p> </div> </div>Når du klikker på den ydre header, udvides dens indhold, og den indlejrede collapsible bliver synlig. Du kan derefter klikke på den indre header for at udvide dens indhold uafhængigt af det ydre.
Collapsible Sæt (Accordeons)
En anden nyttig funktion er muligheden for at oprette et collapsible sæt, som i bund og grund fungerer som et accordion. Ved at gruppere flere individuelle collapsibles inden i en container med data-role="collapsible-set", sikrer du, at kun ét collapsible element kan være åbent ad gangen. Når et nyt element åbnes, lukkes det forrige automatisk. Dette er en klassisk accordion-funktionalitet, der er ideel til at præsentere flere relaterede sektioner på en ryddelig måde.

Her er et eksempel på et collapsible sæt:
<div data-role="collapsible-set"> <div data-role="collapsible"> <h3>Sektion 1</h3> <p>Indhold for sektion 1.</p> </div> <div data-role="collapsible"> <h3>Sektion 2</h3> <p>Indhold for sektion 2.</p> </div> <div data-role="collapsible"> <h3>Sektion 3</h3> <p>Indhold for sektion 3.</p> </div> </div>I dette eksempel vil kun én af de tre sektioner kunne være åben på samme tid. Åbner du for eksempel Sektion 2, vil Sektion 1 automatisk blive lukket, hvis den var åben.
Sammenligning af Collapsible Typer
jQuery Mobile tilbyder forskellige måder at strukturere og vise udvideligt indhold på. Her er en oversigt over de mest almindelige typer:
| Type | Beskrivelse | Anvendelse |
|---|---|---|
| Grundlæggende Collapsible | Et enkelt udvidelsesbart indholdspanel. | Visning af kort, detaljeret information, FAQ-sektioner. |
| Collapsible Sæt (Accordion) | En gruppe af collapsibles, hvor kun ét kan være åbent ad gangen. | Præsentation af flere relaterede emner, trin-for-trin guides. |
| Indlejrede Collapsibles | Et collapsible element inde i et andet collapsible element. | Oprettelse af hierarkiske menuer, detaljerede oplysninger med underpunkter. |
CSS Klasser og Stilarter
jQuery Mobile tildeler specifikke CSS-klasser til collapsible elementer, som kan bruges til yderligere tilpasning eller fejlfinding. Nogle af de vigtigste klasser inkluderer:
.ui-collapsible: Den yderste container for et collapsible element..ui-collapsible-heading: Den synlige del af collapsible, som brugeren klikker på. Indeholder.ui-collapsible-heading-collapsed, når elementet er skjult..ui-collapsible-heading-toggle: Elementet, der fungerer som afbryder for collapsible..ui-collapsible-heading-status: Viser status for toggleren (f.eks. ikon)..ui-collapsible-content: Indholdssektionen, der vises eller skjules. Indeholder.ui-collapsible-content-collapsed, når indholdet er skjult.
Disse klasser giver mulighed for finjustering af udseendet, såsom at ændre marginer, padding, baggrundsfarver eller ikondesign.
Deprecering og Fremtidige Overvejelser
Det er vigtigt at bemærke, at jQuery Mobile Collapsible-widgeten er markeret som deprecieret siden version 1.5 og forventes fjernet i version 1.6. Dette betyder, at selvom den stadig fungerer, anbefales det at overveje at bruge Accordion-widgeten som erstatning for fremtidig udvikling. Accordion-widgeten tilbyder lignende funktionalitet og er den foretrukne løsning for accordion-lignende strukturer i nyere versioner af jQuery Mobile.
Ofte Stillede Spørgsmål (FAQ)
Hvad betyder ui-collapsible-content-collapsed?
ui-collapsible-content-collapsed er en CSS-klasse, som jQuery Mobile automatisk tilføjer til indholdselementet af et collapsible panel, når panelet er skjult (kollapset). Denne klasse kan bruges til at styre stilarter, der kun skal gælde, når indholdet er skjult.
Hvordan laver jeg et collapsible, der starter udvidet?
Du kan få et collapsible element til at starte udvidet ved at tilføje attributten data-collapsed="false" til containeren.
Kan jeg have flere collapsibles åbne samtidigt?
Ja, som standard kan flere individuelle collapsibles være åbne samtidigt. Hvis du ønsker, at kun ét skal være åbent ad gangen (en accordion-funktionalitet), skal du placere dem inden i en container med data-role="collapsible-set".
Hvad er forskellen på data-theme og data-content-theme?
data-theme anvendes på headeren af collapsible elementet og styrer dens udseende (farve, stil). data-content-theme anvendes på selve indholdssektionen og giver dig mulighed for at give indholdet en separat visuel stil, som kan skabe en klarere adskillelse eller forbindelse til headeren.
Konklusion
jQuery Mobiles Collapsible-widget er et fremragende værktøj til at forbedre brugeroplevelsen på mobile enheder ved at gøre indholdet mere håndterbart og pladsbesparende. Ved at mestre brugen af grundlæggende collapsibles, tilpasningsmuligheder, indlejrede strukturer og collapsible sæt, kan du skabe dynamiske og brugervenlige interfaces. Selvom widgeten er ved at blive udfaset, giver forståelsen af dens principper en solid baggrund for at arbejde med lignende komponenter i fremtidige webudviklingsprojekter.
Hvis du vil læse andre artikler, der ligner jQuery Mobile: Skab udvidelige indholdspaneler, kan du besøge kategorien Mobil.
