1.3 Enklare menyer och interaktivitet med JavaScript¶
I den här modulen lägger vi till lite enkel interaktivitet på din sida.
Vi fokuserar på:
- en enkel meny eller navigation på sidan
- små effekter som att visa/dölja en sektion med en knapp
- att förstå var JavaScript-koden ligger och hur den kopplas till HTML
Målet är inte att bli JavaScript-expert, utan att se att:
“HTML är innehållet, CSS är utseendet – och JavaScript kan få saker att hända när användaren klickar.”
Smakprov – JavaScript DOM API (kortvideo)¶
En snabb introduktion till hur JavaScript kan styra innehållet på en webbsida (DOM):
Mål¶
Efter den här modulen ska du:
- veta var du kan skriva enkel JavaScript-kod
- förstå idén med att koppla JavaScript till element i HTML (t.ex. en knapp)
- kunna lägga till minst en av följande saker på din sida:
- en meny som hoppar till olika delar av sidan
- en knapp som visar/döljer extra information
- en “Till toppen”-knapp som scrollar upp sidan
Upplägg på träffen¶
Del 1 – En enkel meny (utan och med JavaScript)¶
- Skapa en meny överst på sidan med HTML-länkar som pekar på olika sektioner längre ned:
```html
Om mig
Aktiviteter
Kontakt
```
- Testa i webbläsaren att klicka på meny-länkarna – sidan hoppar till rätt del.
Det här är ren HTML utan JavaScript – men känns redan mer som en “riktig” sida.
Del 2 – Första lilla JavaScript-exemplet¶
Lägg till en knapp som visar/döljer extra information.
- Lägg in en sektion i HTML:
```html
```
- Lägg till ett litet
<script>-block längst ned i<body>:
```html
```
- Spara/committa och testa på din GitHub Pages-sida.
Gå igenom koden tillsammans på en hög nivå:
- vi hämtar knappen och rutan med getElementById
- vi lyssnar på att användaren klickar med addEventListener("click", ...)
- vi slår mellan “synlig” (display: block) och “gömd” (display: none)
Det viktiga är upplevelsen: du ändrar koden → sparar → sidan reagerar annorlunda.
Övningar för deltagarna¶
Välj en eller flera av dessa:
1. Utöka menyn¶
- Lägg till fler meny-länkar
- Se till att alla sektioner har ett
idså menyn fungerar - Prova att använda CSS för att göra menyn lite tydligare (t.ex. marginaler, bakgrundsfärg)
2. Fler dolda rutor¶
- Skapa en till sektion med extra info och en egen knapp
- Återanvänd JavaScript-koden genom att byta
idtill nya element - Testa om du kan få båda rutorna att fungera oberoende av varandra
3. “Till toppen”-knapp (om tid och ork)¶
Lägg till längst ned i <body>:
<button id="to-top">Till toppen</button>
Och JavaScript:
<script>
const toTopButton = document.getElementById("to-top");
toTopButton.addEventListener("click", () => {
window.scrollTo({ top: 0, behavior: "smooth" });
});
</script>
Nu ska ett klick på knappen scrolla upp sidan.
Mellan träffarna¶
Om du vill fortsätta träna:
- testa att lägga till fler knappar eller länkar
- ändra texter, id:n och se när koden slutar fungera – och när du får igång den igen
- fundera på:
- “Vilken interaktivitet skulle vara användbar på en sida för vår förening?”
Skriv gärna ner idéer till nästa träff – de kan bli grunden för 1.4-övningen, där du sätter ihop allt till en liten “riktig” sida.