ie6 und opera ignorieren anweisungen
kyuu
- javascript
0 Gernot Back
0 Gernot Back
0 kyuu
hallo,
habe folgendes script um bilder zu ändern (hoch/querformat):
function bild_wechsel(bild_name, format)
{
document.getElementById("hauptbild").src= 'bilder/pixel.gif';
if(format == 0)
{
document.getElementById("hauptbild").width=340;
document.getElementById("hauptbild").height=453;
}
else
{
document.getElementById("hauptbild").width=453;
document.getElementById("hauptbild").height=340;
}
document.getElementById("hauptbild").src= bild_name;
}
pixel.gif ist ein transparentes 1px * 1px bild.
im IE6 und opera wird nun die zeile 'document.getElementById("hauptbild").src= 'bilder/pixel.gif';' ignoriert, da er mir das alte bild erst in die neue größe zerrt und dann erst durch das neue ersetzt.
wenn ich nach dieser zeile ein alert(); einfüge, sehe ich, dass das alte bild verschwunden ist, aber in kombination mit dem rest scheint er es nicht mehr korrekt auszuführen.
verhindert werden sollte diese zerrung mit anschließendem sprung, indem ich erst ein unsichtbares bild lade bei dem ich die größe ändere und anschließend das neue sichtbar mache.
IE7 und firefox führen es wie gewünscht durch.
ich hoffe jemand hier hat eine idee,
kyuu
Hallo kyuu,
du könntest zunächst das Bild gegen den gestreckten Blindpixel austauschen und die weiteren Aktionen mit einer in einem Timeout sich immer wieder selbst solange aufrufenden Funktion erst dann initiieren, wenn der Status des Blindpixels complete ist.
Gruß Gernot
Hallo nochmal,
ist es denn überhaupt erforderlich, die Dimensionen des Bildes explizit anzugeben? Wenn du es von vornherein ohne Width- und Height-Attribute lädst, hast du doch auch kein Problem, wenn du es gegen ein andersformatiges Bild austauschst. Dann nimmt sich sich das (neu) geladene Bild meines Wissens jeweils seine Originalmaße.
Gruß Gernot
ja könnte es schon ohne größenangaben machen lieber wärs mir halt mit.
krieg ich den status einfach über:
if(document.getElementById("hauptbild").complete == true)
raus?
wenn ja, funktionierts nicht.
ich finde es ja nur so komisch, dass es in 2 von 4 getesteten browsern geht bzw nicht geht.
Hallo kyuu,
krieg ich den status einfach über:
if(document.getElementById("hauptbild").complete == true)
raus?
Ich würde es der Einfachheit mit if(document.images.hauptbild.complete)
machen. Ja und die Funktion musst du in einem timeOut sich immer immer wieder selbst aufrufen lassen, bis sie tatsächlich "true" zurückliefert.
Zu dem anderen Thema - Bilderaustausch mit variablen Formaten ohne Vordefinition der Maße:
http://lernspielwiese.de/spion/dia.html?http://www.msieurju.info/wblg/images/interne/123.jpg
Das nächste und das vorvorhergehende Bild sind auch ganz lustig.
Gruß Gernot