To-Do Liste
Lag en enkel “to-do”-liste hvor du kan skrive inn ting du skal gjøre, trykke på en knapp for å legge dem til, krysse av når de er gjort, og trykke på en slett-knapp for å fjerne dem. Listen skal huske tingene dine selv om du lukker og åpner siden igjen.
- Et felt for å skrive ny oppgave.
- En knapp for å legge til oppgaven i listen.
- For hver oppgave i listen:
- En boks du kan krysse av i (checkbox) for å vise at den er gjort.
- En knapp for å slette oppgaven.
- Når du krysser av en oppgave, skal den se annerledes ut (f.eks., strek gjennom teksten).
- Listen skal huske oppgavene dine selv om du lukker nettleseren.
Hint og Veiledning
- HTML-grunnlag:
- Lag et
<input type="text">der du kan skrive inn oppgaver. Husk å gi den enid(f.eks.,nyOppgave). - Lag en
<button>ved siden av for å legge til oppgaven. Brukonclickfor å si hva som skal skje når du trykker på den (f.eks.,leggTil). - Lag en
<ul>(liste) der oppgavene skal vises. Gi den også enid(f.eks.,listeMedOppgaver).
- Lag et
- JavaScript-hjelp:
- Du trenger å hente tak i HTML-elementene dine ved hjelp av
document.getElementById(). - Lagre data: For å huske listen, kan du bruke noe som heter
localStorage.- For å lagre noe:
localStorage.setItem('navnPåDetDuLagrer', 'detDuVilLagreSomTekst'). Hvis du har en liste med ting, må du gjøre den om til tekst først (brukJSON.stringify()). - For å hente noe igjen:
localStorage.getItem('navnPåDetDuLagrer'). Husk å gjøre teksten om til en liste igjen (brukJSON.parse()).
- For å lagre noe:
- Legge til oppgave (når du trykker på knappen):
- Hent teksten fra input-feltet.
- Lag en ny “oppgave-ting” (et HTML
<li>-element). - Inni dette
<li>-elementet må du lage en<input type="checkbox">, en<span>for teksten, og en<button>for å slette. - Legg til denne “oppgave-tingen” til
<ul>-listen din. - Husk å lagre den oppdaterte listen i
localStorage. - Tøm input-feltet etter at du har lagt til oppgaven.
- Krysse av oppgave (checkbox):
- Når du krysser av, må du finne ut hvilken oppgave det gjelder. Du kan for eksempel endre en “erFerdig”-egenskap for den oppgaven i listen din.
- Oppdater hvordan oppgaven ser ut på skjermen (f.eks., legg til en CSS-klasse som gir gjennomstreking).
- Husk å lagre den oppdaterte listen i
localStorage.
- Slette oppgave (slett-knapp):
- Når du trykker på slett-knappen, må du finne ut hvilken oppgave som skal slettes.
- Fjern den oppgaven fra listen din.
- Oppdater listen på skjermen.
- Husk å lagre den oppdaterte listen i
localStorage.
- Starte opp: Når siden laster, må du sjekke om det finnes en lagret liste i
localStorage. Hvis det gjør det, må du hente den og vise den på skjermen.
- Du trenger å hente tak i HTML-elementene dine ved hjelp av
- CSS-styling (ikke et must, men gjør det finere): Du kan bruke CSS for å style hvordan oppgavene ser ut, hvordan de ser ut når de er ferdige, og hvordan knappene ser ut.
Vurderingskriterier
- Legge til oppgaver: Fungerer funksjonen for å legge til nye oppgaver i listen?
- Markere som utført: Kan oppgaver markeres som utført, og vises dette visuelt?
- Slette oppgaver: Kan oppgaver slettes fra listen?
- Lagring: Husker listen oppgavene mellom sidebesøk?
Forslag til løsning
Relaterte kompetansemål
- planlegge, utvikle og dokumentere løsninger som er energieffektive og bærekraftige
- planlegge, utvikle, sette opp og dokumentere integrasjoner mellom ulike systemer og databaser
- veilede brukere i ulike oppgaver
- utvikle og tilpasse brukergrensesnitt som ivaretar krav til universell utforming
- velge og bruke relevante rammeverk og moduler til utvikling
- utforske og vurdere eksisterende og nye teknologier og bransjerelevante kodespråk