Hallo Zusammen,
was Javascript angeht, bin ich noch ganz am Anfang. Aus diesem Grund komme ich bei meinem Code nicht weiter:
Mein Problem ist: Wenn ich den oben aufgeführten Code ausführe, dann klappt alles wunderbar. Es tauchen vier rote Bälle auf, und wenn ich auf einen draufklicke dann wird dieser Ball durch einen Blauen ausgetauscht. Wenn ich aber den auskommentierten Block wieder aktiviere und natürlich den Teilcode unter der Schleife auskommentiere, dann passiert folgendes --> Egal auf welchen Ball ich draufklicke, wird nur der letzte geändert. Wieso??? Eigentlich mache ich doch nichts anderes wie den vorherigen aktivierten Code in eine Schleife zu verpacken. Oder??? Wäre wirklich dankbar für eure Hilfe.
was Javascript angeht, bin ich noch ganz am Anfang. Aus diesem Grund komme ich bei meinem Code nicht weiter:
HTML:
<html>
<head>
<title>DOM</title>
<script type="text/javascript">
window.onload = function() {
var basis = document.getElementById("alles");
var h3 = document.createElement("h3");
h3.setAttribute("id", "Ueberschrift");
textknoten = document.createTextNode("Ueberschrift");
h3.appendChild(textknoten);
basis.appendChild(h3);
var ids = [];
for (var i=1; i<=4; i++) {
var img = document.createElement("img");
id = "Ball" + i;
ids.push(id);
img.setAttribute("id", id);
img.src = "ball1.gif";
basis.appendChild(img);
}
/*for (var i=0; i < ids.length; i++) {
var obj = document.getElementById(ids[i]);
console.log(obj);
obj.addEventListener("click", function() {change(obj);}, false);
}*/
var obj1 = document.getElementById("Ball1");
obj1.addEventListener("click", function() {change(obj1);}, false);
var obj2 = document.getElementById("Ball2");
obj2.addEventListener("click", function() {change(obj2);}, false);
var obj3 = document.getElementById("Ball3");
obj3.addEventListener("click", function() {change(obj3);}, false);
var obj4 = document.getElementById("Ball4");
obj4.addEventListener("click", function() {change(obj4);}, false);
}
function change(a) {
a.src = "ball2.gif";
}
</script>
</head>
<body id="alles">
</body>
</html>
Mein Problem ist: Wenn ich den oben aufgeführten Code ausführe, dann klappt alles wunderbar. Es tauchen vier rote Bälle auf, und wenn ich auf einen draufklicke dann wird dieser Ball durch einen Blauen ausgetauscht. Wenn ich aber den auskommentierten Block wieder aktiviere und natürlich den Teilcode unter der Schleife auskommentiere, dann passiert folgendes --> Egal auf welchen Ball ich draufklicke, wird nur der letzte geändert. Wieso??? Eigentlich mache ich doch nichts anderes wie den vorherigen aktivierten Code in eine Schleife zu verpacken. Oder??? Wäre wirklich dankbar für eure Hilfe.