← Level 2 – Zauberer

Lektion 2 von 8 ⏱ 25 Minuten

Dein erster Zauber: ein Button, der etwas tut

Die Seite reagiert zum ersten Mal auf einen Klick. Du lernst, ein Element zu finden und auf Ereignisse zu hören.

Zeig mir das: die drei Schritte jedes Zaubers

Fast alles, was JavaScript auf einer Seite macht, folgt drei Schritten:

  1. Finde ein Element auf der Seite (einen Button, eine Überschrift, ein Bild…),
  2. höre auf ein Ereignis (einen Klick, Maus darüberfahren, Text tippen…),
  3. tu etwas (ändere den Text, die Farbe, versteck es, zeig es…).

So sieht das im Code aus. Füge im HTML einen Button und einen Absatz hinzu:

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

Und in 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! 🎉";
});

Schauen wir uns die neuen Sachen an:

Jetzt du 💪

Füge deinem ersten Zauber auf deiner Website hinzu. Wähl einen passend zu deinem Projekt (oder erfinde deinen eigenen):

🏫 Schul-Website – ein „Was gibt's heute zu Mittag?"-Button

HTML (auf der Startseite):

<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! 🍕";
});
🙋 Persönliche Website – ein „Erzähl mir einen Witz"-Button
<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! 😄";
});
🌍 Reisetagebuch – ein „Wohin geht's als Nächstes?"-Button
<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! 🌊";
});
⚽ Vereins-Website – ein „Wann ist das nächste Spiel?"-Button
<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: Styl deinen Button in CSS, damit er schön aussieht:

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;
}
⚠️

Funktioniert nicht? Öffne die Konsole (F12). Die häufigsten Fehler: 1) Die id im HTML stimmt nicht genau mit dem Namen in getElementById überein (sogar Groß- und Kleinschreibung zählt), 2) das <script> steht nicht ganz am Ende von <body>, 3) eine fehlende Klammer – die Konsole sagt dir die Zeilennummer.

Kontrolliere dich selbst: Du klickst auf den Button und Text erscheint auf der Seite. Du hast gerade alle drei Websprachen verbunden: HTML (der Button), CSS (das Aussehen) und JavaScript (das Verhalten).

Das nimmst du aus dieser Lektion mit