← Niveau 2 – Troldmand

Lektion 2 af 8 ⏱ 25 minutter

Din første trylleformular: en knap, der gør noget

Siden reagerer på et klik for første gang. Du lærer at finde et element og lytte efter hændelser.

Vis mig: de tre trin i enhver trylleformular

Næsten alt JavaScript gør på en side følger tre trin:

  1. Find et element på siden (en knap, en overskrift, et billede…),
  2. lyt efter en hændelse (et klik, musen over, indtastning af tekst…),
  3. gør noget (ændr teksten, farven, skjul det, vis det…).

Sådan ser det ud i kode. I HTML, tilføj en knap og et afsnit:

<button id="my-button">Click me</button>
<p id="greeting">Nothing has happened yet.</p>

Og i script.js:

// 1. Find the elements by their id
const myButton = document.getElementById("my-button");
const greeting = document.getElementById("greeting");

// 2. Listen for a click on the button
myButton.addEventListener("click", () => {
  // 3. Do something: change the paragraph's text
  greeting.textContent = "The spell works! 🎉";
});

Lad os bryde de nye ting ned:

Nu er det din tur 💪

Tilføj din første trylleformular til din hjemmeside. Vælg én baseret på dit projekt (eller find på din egen):

🏫 Skolehjemmeside – en "Hvad er der til frokost i dag?"-knap

HTML (på forsiden):

<button id="lunch-button">What's for lunch today?</button>
<p id="lunch"></p>

script.js:

const lunchButton = document.getElementById("lunch-button");
const lunch = document.getElementById("lunch");

lunchButton.addEventListener("click", () => {
  lunch.textContent = "Today: pizza and salad! 🍕";
});
🙋 Personlig hjemmeside – en "Fortæl mig en joke"-knap
<button id="joke-button">Tell me a joke</button>
<p id="joke"></p>
const jokeButton = document.getElementById("joke-button");
const joke = document.getElementById("joke");

jokeButton.addEventListener("click", () => {
  joke.textContent = "Why do programmers prefer dark mode? Because light attracts bugs! 😄";
});
🌍 Rejsejournal – en "Hvor skal vi hen næste gang?"-knap
<button id="where-button">Where are we going next?</button>
<p id="where"></p>
const whereButton = document.getElementById("where-button");
const where = document.getElementById("where");

whereButton.addEventListener("click", () => {
  where.textContent = "Packing our bags: we're headed to the beach in Greece! 🌊";
});
⚽ Klubhjemmeside – en "Hvornår er næste kamp?"-knap
<button id="match-button">When's the next match?</button>
<p id="match"></p>
const matchButton = document.getElementById("match-button");
const match = document.getElementById("match");

matchButton.addEventListener("click", () => {
  match.textContent = "Saturday at 10:00, home game vs. Riverside. Come cheer us on! 📣";
});

Bonus: style din knap i CSS, så den ser pæn ud:

button {
  font-size: 16px;
  font-weight: bold;
  padding: 10px 20px;
  border: none;
  border-radius: 999px;
  background-color: #1d4ed8;
  color: white;
  cursor: pointer;
}

button:hover {
  background-color: #1e40af;
}
⚠️

Virker det ikke? Åbn konsollen (F12). De mest almindelige fejl: 1) id i HTML matcher ikke præcist navnet i getElementById (selv store/små bogstaver betyder noget), 2) <script> er ikke helt i slutningen af <body>, 3) en manglende parentes – konsollen fortæller dig linjenummeret.

Tjek dig selv: Du klikker på knappen, og tekst vises på siden. Du har lige forbundet alle tre sprog på nettet: HTML (knappen), CSS (udseendet) og JavaScript (adfærden).

Det tager du med fra denne lektion