Modul 5

Kap 5.5 - Miniuppgift: interaktiv komponent

Du bygger en liten komponent där JavaScript ändrar något på sidan.

Mål

  • Planera en enkel interaktion innan du kodar.
  • Använda extern JavaScript-fil.
  • Hämta element, lyssna på event och ändra sidan.
  • Testa med mus, tangentbord och webbläsarens konsol.

Uppgift

Bygg en interaktiv komponent på en sida du redan har. Välj en av idéerna eller skapa en egen i samma nivå.

  • En menyknapp som öppnar och stänger navigationen.
  • En knapp som växlar tema eller kontrastläge.
  • En FAQ där svar kan öppnas och stängas.
  • Ett formulär som visar tydlig feedback utan sidomladdning.

Krav

  • JavaScript ska ligga i en extern fil.
  • Minst ett element ska hämtas med querySelector.
  • Minst ett event ska hanteras med addEventListener.
  • Sidan ska ändras synligt, till exempel text, klass eller feedback.
  • Interaktionen ska vara begriplig även om användaren testar långsamt.

Startmall

const button = document.querySelector(".toggle-button");
const panel = document.querySelector(".panel");

button.addEventListener("click", function () {
    panel.classList.toggle("is-open");
});

Självkontroll

  • Syns det tydligt vad som händer när användaren klickar?
  • Finns det fel i konsolen?
  • Fungerar komponenten efter att sidan laddats om?
  • Är namn på klasser och variabler begripliga?
  • Har du testat med tangentbord om komponenten använder knappar eller formulär?