Lotti
New member
Ich möchte 20 Bilder nebeneinander und 12 Bilder untereinander (zusammen 240 Bilder) darstellen. Die Bilder heißen "1.jpg" bis "50.jpg". Das Array Bild[] wird zuvor mit 240 Einträgen befüllt, die wild durcheinander Werte zwischen 1 und 50 haben (und den Bildnamen ohne ".jpg" entsprechen). Die Arrays xPos[] und yPos[] enthalten konstant die (240) Koordinaten, an denen die Bilder ausgegeben werden sollen.
Die Lösung von kkapsner und die Empfehlungen im Threat "HTML-Link mit Zufallsbild zum anklicken" habe ich umgesetzt (die Bilder sind anklickbar), aber irgendwie bin ich nun in einer anderen Sackgasse und kämpfe mit den drei Zuständen
- Mouseover-Effekt (hover), z.B. "opacity(0.7)"
- Markieren eines angeklickten Bildes, z.B. "opacity(0.5)"
- Demarkieren eines markierten Bildes, z.B. "opacity(1)"
Im WWW und hier im Forum habe ich keine Lösung gefunden, wie das ohne HTML/CSS und <a href ...> klappt. Mein neues "Konstrukt" funktioniert nur zum Teil. Auf "mouseover" wird das letzte Bild (i = 239, rechts unten) an seiner Position ausgeblendet und überblendet das Mouseover-Bild. Bei Verlassen des Mouseover-Bildes verschwindet das Bild Nr. 239 an seiner richtigen Position endgültig, wird aber beim nächsten Mouseover-Bild immer wieder kurz ein- und ausgeblendet.
Es dürfte wohl an appendChild liegen. Aber was wäre die Alternative?
Die Lösung von kkapsner und die Empfehlungen im Threat "HTML-Link mit Zufallsbild zum anklicken" habe ich umgesetzt (die Bilder sind anklickbar), aber irgendwie bin ich nun in einer anderen Sackgasse und kämpfe mit den drei Zuständen
- Mouseover-Effekt (hover), z.B. "opacity(0.7)"
- Markieren eines angeklickten Bildes, z.B. "opacity(0.5)"
- Demarkieren eines markierten Bildes, z.B. "opacity(1)"
Im WWW und hier im Forum habe ich keine Lösung gefunden, wie das ohne HTML/CSS und <a href ...> klappt. Mein neues "Konstrukt" funktioniert nur zum Teil. Auf "mouseover" wird das letzte Bild (i = 239, rechts unten) an seiner Position ausgeblendet und überblendet das Mouseover-Bild. Bei Verlassen des Mouseover-Bildes verschwindet das Bild Nr. 239 an seiner richtigen Position endgültig, wird aber beim nächsten Mouseover-Bild immer wieder kurz ein- und ausgeblendet.
Es dürfte wohl an appendChild liegen. Aber was wäre die Alternative?
Code:
function PLAY (Level) {
...
var Raster = document.getElementById('RasterID');
// RasterID ist nur im HTML-Script definiert (<div ID="RasterID"></div>) und nicht im CSS-Script
function KLICK (Pos,PIC) {
...
Stein.style.filter = "opacity(0.5)";
Raster.appendChild(PIC);
}
function M_OVER (Pos,PIC) {
...
Stein.style.filter = "opacity(0.7)";
Raster.appendChild(PIC);
}
function M_OUT (Pos,PIC) {
...
Stein.style.filter = "opacity(1)";
Raster.appendChild(PIC);
}
function STEIN2SCREEN (Pos,PIC) {
Stein.style.position = "absolute";
Stein.style.left = xPos[Pos]+"px";
Stein.style.top = yPos[Pos]+"px";
Stein.style.width = "40px";
Stein.style.height = "50px";
Stein.style.filter = "opacity(1)";
Raster.appendChild(PIC);
}
for (var i = 0; i < 240; i += 1) {
var Stein = document.createElement("img");
Stein.src = Bild[i] + ".jpg";
Stein.alt = Bild[i];
Stein.addEventListener("click", function(i) { return function() { KLICK (i,Stein); }; } (i), false);
Stein.addEventListener("mouseover", function(i) { return function() { M_OVER (i,Stein); }; } (i), false);
Stein.addEventListener("mouseout", function(i) { return function() { M_OUT (i,Stein); }; } (i), false);
STEIN2SCREEN (i,Stein);
}
}
Zuletzt bearbeitet von einem Moderator: