• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Image erstellen und ein-/ausblenden

Status
Für weitere Antworten geschlossen.

andynail

Mitglied
Hallo zusammen

auf meiner Seite, einer Linksammlung, sollen Vorschaugrafiken der mit der Maus überfahrenen Links angezeigt werden. Diese sollen aus der Linkliste falls vorhanden angezeigt werden. Hierzu sollen die Grafiken beim Aufruf der Seiten erstellt werden:

for (var i = 0; i < document.all.Link.length; i++)
{
if (document.all.Link.onmouseover != undefined)
{
e = document.createElement("div")
e.setAttribute("id", "SitePictures")
e.setAttribute("position", "absolute")
e.setAttribute("top", "100px")
e.setAttribute("left", "4px")
e.setAttribute("margin-left", "4%")
e.setAttribute("width", "150px")
e.setAttribute("height", "110px")
Pic = document.createElement("image")
Pic.setAttribute('xlink:href', document.all.Link.innerText + ".jpg");
e.appendChild(Pic)
}
}

Wenn ich jetzt jedoch in der Funktion onmouseover die Anzahl der Elemente SitePictures zurückgeben lassen will wird die Fehlermeldung "Objekt erforderlich" angezeigt. Als würden die Objekte nicht erstellt worden sein, wobei die Schleife wie gewünscht durchläuft, aber kein Bild angezeigt wird.

Danke Gruß Andreas
 
Zuletzt bearbeitet:
Wie kommst du auf doucment.all? Benutzt du den IE 4?
Welche Elemente SitePictures?
Was sind das für Attribute, die du da setzt? Die gibt es nicht. Du willst die style Attribute ändern. Ausserdem hat der IE schwierigkeiten mit der Funktion. Mach es so:
Code:
e.style.position = "absolute";

Was ist denn innerText (auch eine IE only Eigenschaft - du benutzt keine anderen Browser?) von einem Bild? Du suchst die Eigenschaft src

Ich weiß nicht welche Dokumentation du benutzt, aber ich rate dir eine andere zu nehmen.
 
Hallo

die Schleife läuft aber im IE und jetzt lasse ich dann einfach document.all weg und die Schleife läuft genauso. Aber mit setAttribute kann man doch top, left, height, width usw festlegen? Ich las auch was über e.setAttribute("style", "position:absolute; z-Index:3"), da z-index auch notwendig ist.

Danke Gruß Andreas
 
Wenn du document.all wegläßt, dann läuft es in keinem Browser mehr (es sei denn die Seite ist im Quirksmodus,da macht der IE viel - falsches). documemnt.getElementById ist wahrscheinlich die funktion die du suchst.
Wo hast du das gelesen? es ist falsch.
 
Hallo

OK wie dann? Wie bekomme ich die Anzahl der Objekt? Mit document.getElementById("Link").length erhalte ich undefined. Und dann schreibe ich

e.style.position = "absolute"
e.style.zIndex = "3"

und trozdem erstellt sich kein Objekt. SitePictures sollen die Objekte heisen um sie ein-/auszublenden. Die ID wird ja vergeben.

Danke Gruß Andreas
 
Zuletzt bearbeitet:
Dann gibt es kein Element mit der ID "Link". document.all frißt alles. Da wir deinen HTML Code nicht kennen, war das von mir geraten.

Die Objekte mit einer ID geht nicht, eine ID darf nur einmal im Dokument vorkommen.

Mir ist jetzt aber nicht mehr klar, was du konkret Wissen willst?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben