Where can I find jQuery Mobile slider source code?

Forstå Range Slider Widgets

13/01/2025

Rating: 4.61 (1387 votes)
Indholdsfortegnelse

Hvad er en Range Slider Widget?

En range slider widget, ofte omtalt som en dobbelt håndtags-slider, er et interaktivt brugerfladeelement, der giver brugerne mulighed for at vælge et interval mellem to punkter. Dette er især nyttigt i webdesign, hvor man ønsker at give brugerne en intuitiv måde at indstille værdier på, såsom prisintervaller, volumenjusteringer eller datointervaller. Denne type widget adskiller sig fra en simpel slider ved at have to justerbare håndtag, der definerer både et start- og et slutpunkt inden for et specificeret område. Dette giver en langt større fleksibilitet og præcision i brugerinputtet.

What is a slider widget?
The basic slider is horizontal and has a single handle that can be moved with the mouse or by using the arrow keys. Want to learn more about the slider widget? Check out the API documentation. Copyright 2025 OpenJS Foundation and jQuery contributors. All rights reserved. See jQuery License for more information.

Grundlæggende Opsætning af en Range Slider

At implementere en range slider i din webapplikation er en relativt ligetil proces, der primært involverer brugen af standard HTML-inputfelter. For at skabe en range slider skal du anvende to standard input-elementer, hvor begge er sat til type="range". Disse to inputfelter skal placeres inde i en fælles <div> container. Rammeværket, der understøtter disse widgets, vil automatisk genkende og forvandle disse standard inputfelter til en fuldt funktionel range slider uden behov for yderligere konfigurationer som data-role-attributter.

Konfigurering af Inputfelter:

  • min og max attributter: Disse er essentielle for at definere det samlede gyldige interval for slideren. For eksempel, hvis du vil have brugeren til at vælge en værdi mellem 0 og 100, vil du sætte min="0" og max="100" på begge inputfelter.
  • value attribut: Hvert inputfelt skal have en value-attribut, der bestemmer den indledende position for dets respektive håndtag. Det første inputfelt repræsenterer startpunktet, og det andet repræsenterer slutpunktet for intervallet.
  • step attribut: Hvis du ønsker at begrænse brugerens valg til bestemte trin (f.eks. kun hele tal eller intervaller på 0.5), kan du bruge step-attributten. Hvis denne attribut udelades, vil slideren som standard tillade alle værdier inden for det definerede min/max-interval.

Når brugeren interagerer med sliderens håndtag, opdaterer rammeværket automatisk de underliggende inputfelters værdier, og omvendt. Denne synkronisering sikrer, at de korrekte værdier altid er tilgængelige og kan indsendes med en formular.

Semantisk Korrekthed og Tilgængelighed

For at sikre semantisk korrekthed og forbedre tilgængeligheden af din range slider, er det vigtigt at associere label-elementer korrekt med deres tilsvarende inputfelter. Dette gøres ved at sætte for-attributten på label-elementet til at matche id-attributten på det inputfelt, det beskriver. Selvom det er muligt at skjule labels visuelt, hvis de ikke passer ind i sidens layout, er det en god praksis at inkludere dem i markupen for at understøtte brugere med skærmlæsere og andre hjælpemidler.

Automatisk Forbedring og Undtagelser

Rammeværket er designet til at automatisk identificere og forbedre alle inputfelter med type="range" til en visuelt attraktiv og funktionel slider-widget. Dette betyder, at du som udvikler sjældent behøver at tilføje specifikke attributter som data-role for at aktivere denne funktionalitet.

Undtagelse fra automatisk forbedring: Hvis du af en eller anden grund ønsker at forhindre et specifikt inputfelt i at blive omdannet til en slider, kan du tilføje attributten data-role="none" til inputfeltet. For at gruppere sådanne elementer visuelt og bevare en vis struktur, kan de pakkes ind i en <div> med attributten data-role="fieldcontain".

Eksempel på Grundlæggende Range Slider

Her er et simpelt eksempel på, hvordan en range slider kan implementeres med et gyldigt interval fra 0 til 100:

<div data-role="rangeslider"> <label for="range-1a">Prisinterval:</label> <input name="range-1a" id="range-1a" type="range" min="0" max="100" value="20" /> <label for="range-1b">Prisinterval:</label> <input name="range-1b" id="range-1b" type="range" min="0" max="100" value="80" /> </div>

Dette vil resultere i en slider, hvor brugeren kan vælge et prisinterval mellem 20 og 80 som standard.

Justering af Trin (Step Increment)

For at sikre, at brugerens valg altid lander på specifikke intervaller, kan step-attributten anvendes. Som standard er trinnet 1, men du kan specificere et andet interval. Lad os se på et eksempel, hvor intervallet er fra 0 til 10, og brugeren kun kan vælge værdier med 0.1 som trin:

<div data-role="rangeslider"> <label for="range-10a">Værdiområde:</label> <input name="range-10a" id="range-10a" type="range" min="0" max="10" step="0.1" value="0" /> <label for="range-10b">Værdiområde:</label> <input name="range-10b" id="range-10b" type="range" min="0" max="10" step="0.1" value="10" /> </div>

Med denne konfiguration vil slideren automatisk 'snappe' til de nærmeste 0.1-intervaller. Hvis en bruger manuelt indtaster en værdi, der ikke er gyldig i forhold til step-attributten, vil værdien blive nulstillet til det nærmeste gyldige trin, når inputfeltet mister fokus.

Visuel Tilpasning: Fill Highlight

Som standard viser range slideren en visuel markering (en udfyldt farve) på sporet mellem de to håndtag. Dette giver en klar indikation af det valgte interval. Hvis du ønsker at fjerne denne markering, kan du tilføje attributten data-highlight="false" til den ydre <div> container:

<div data-role="rangeslider" data-highlight="false"> <label for="range-2a">Slider uden highlight:</label> <input name="range-2a" id="range-2a" type="range" min="0" max="100" value="0" /> <label for="range-2b">Slider uden highlight:</label> <input name="range-2b" id="range-2b" type="range" min="0" max="100" value="100" /> </div>

Tematisering af Slideren

Rammeværket giver også mulighed for at tilpasse sliderens udseende ved hjælp af temaer. Dette kan gøres ved at anvende data-theme-attributten på inputfelterne eller containeren. Denne attribut styrer farveskemaet for både selve slideren, håndtagene og sporet. Du kan også separat styre sporet ved at bruge data-track-theme-attributten, som anvender den 'aktive' version af den valgte farve swatch.

Eksempel på tematisering:

<div data-role="rangeslider" data-theme="a" data-track-theme="b"> <label for="range-3a">Tema A/B:</label> <input name="range-3a" id="range-3a" type="range" min="0" max="100" value="0" /> <label for="range-3b">Tema A/B:</label> <input name="range-3b" id="range-3b" type="range" min="0" max="100" value="100" /> </div>

Dette vil resultere i en slider med et specifikt farvetema, hvor sporet har en anden farvevariant.

Mini Version af Slideren

For situationer, hvor pladsen er trang, f.eks. i toolbars eller mindre layouts, kan du aktivere en kompakt 'mini' version af slideren. Dette gøres ved at tilføje attributten data-mini="true" til elementet:

<div data-role="rangeslider" data-mini="true"> <label for="range-4a">Mini Slider:</label> <input name="range-4a" id="range-4a" type="range" min="0" max="100" value="0" /> <label for="range-4b">Mini Slider:</label> <input name="range-4b" id="range-4b" type="range" min="0" max="100" value="100" /> </div>

Den mini version vil være mindre i højden, og den tilknyttede tekst i inputfelterne vil også have en mindre skriftstørrelse, hvilket optimerer pladsforbruget.

Brug af Feltcontainere (Field Containers)

For at forbedre den visuelle gruppering af elementer i længere formularer kan du pakke din range slider markup ind i en <div> med attributten data-role="fieldcontain". Dette hjælper med at organisere formularen og gøre den mere overskuelig for brugeren.

<div data-role="fieldcontain"> <div data-role="rangeslider"> <label for="range-7a">Område uden step:</label> <input name="range-7a" id="range-7a" type="range" min="0" max="100" value="0" /> <label for="range-7b">Område uden step:</label> <input name="range-7b" id="range-7b" type="range" min="0" max="100" value="100" /> </div> </div>

Tastaturkontrol

Range slider widgets er også designet til at være fuldt tilgængelige via tastaturet. Følgende tastaturkommandoer kan bruges til at interagere med slideren:

  • Højrepil, Op-pil, Page Up: Øger værdien.
  • Venstre pil, Ned-pil, Page Down: Formindsker værdien.
  • Home-tasten: Sætter slideren til dens minimumværdi.
  • End-tasten: Sætter slideren til dens maksimumværdi.

Programmatisk Kald af Plugin

Selvom rammeværket automatisk genkender og forbedrer inputfelter med type="range", kan det i visse tilfælde være nødvendigt at kalde pluginnet manuelt. Dette kan gøres på samme måde som med andre jQuery plugins ved at specificere en selector:

$("#dit-slider-id").rangeslider();

Dette giver dig fuld kontrol over, hvornår og hvordan dine sliders initialiseres.

Opsummering

Range slider widgets tilbyder en kraftfuld og brugervenlig måde at lade brugere vælge intervaller på. Med muligheden for at tilpasse alt fra gyldige værdier og trin til visuelle temaer og størrelser, kan disse widgets integreres problemfrit i ethvert moderne webdesign for at forbedre brugeroplevelsen markant.

Ofte Stillede Spørgsmål (FAQ)

Hvad er forskellen på en simpel slider og en range slider?
En simpel slider har ét håndtag til at vælge en enkelt værdi, mens en range slider har to håndtag, der definerer et start- og slutpunkt for et interval.
Kan jeg skjule labels for min slider?
Ja, du kan skjule labels visuelt, men det anbefales at beholde dem i markupen for tilgængelighed.
Hvad sker der, hvis jeg indtaster en værdi, der ikke følger 'step'-reglen?
Værdien vil automatisk blive justeret til det nærmeste gyldige trin, når inputfeltet mister fokus.
Hvordan styrer jeg farverne på slideren?
Du kan bruge data-theme og data-track-theme attributterne til at anvende forskellige farvetemaer.

Hvis du vil læse andre artikler, der ligner Forstå Range Slider Widgets, kan du besøge kategorien Teknologi.

Go up