Wir sehen uns nur noch zwei Stunden pro Woche!

Dritte jetzt neue Technologie: JavaScript
| Abkürzung | richtiger Name | Nutzen und Zweck |
|---|---|---|
| HTML | ||
| CSS | ||
| JS |
Das ist eine vollwertige Programmiersprache!
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="script.js" sync></script>
<title>Test</title>
<style>
img
{
width:200px;
}
</style>
</head>
<body>
<img src="01_Technologien.png" id="bild1">
</body>
</html>
'use strict';
document.addEventListener('DOMContentLoaded', function ()
{
alert("Ich heiße dich herzlich Willkommen!");
document.getElementById('bild1').addEventListener('pointerover', zoom1_in);
document.getElementById('bild1').addEventListener('pointerleave', zoom1_out);
});
function zoom1_in()
{
var dasBild1 = document.getElementById('bild1');
dasBild1.style.width = "400px";
}
function zoom1_out()
{
var dasBild1 = document.getElementById('bild1');
dasBild1.style.width = "200px";
}
Im Folgenden geht es darum, dass man das Konzept, das ihr bisher verfolgt habt, ins Absurde weiterdenkt. Gleichzeitig nähern wir uns der Idee eines Memoryspiels.
Um eine allgemeine Funktion zu schreiben, die auf alle möglichen HTML-Elemente angewendet werden kann, verwendet man Event-Delegation.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Event-Delegation mit benannter Funktion</title>
<style>
button { margin: 4px; }
</style>
</head>
<body>
<div id="container">
<button>Knopf 1</button>
<button>Knopf 2</button>
<button>Knopf 3</button>
</div>
<p id="ausgabe"></p>
<script>
function wer_bin_ich(event) {
if (event.target.tagName !== 'BUTTON') return;
document.getElementById('ausgabe').textContent =
'Geklickt: ' + event.target.textContent +
' (currentTarget: ' + event.currentTarget.id + ')';
}
const container = document.getElementById('container');
container.addEventListener('click', wer_bin_ich);
// Listener kann jetzt jederzeit entfernt werden:
// container.removeEventListener('click', handleContainerClick);
</script>
</body>
</html>
Nächste Woche: Test