Delfried: Wärhend Ladens eines Bildes, einen Div einblenden

Guten Tag,
ich habe Thumbnails, wobei ich mit JS-Funktion das orginal Bild anzeigen lassen will.

Ich ändere also die src des Bildes:

e.src = "blabla.jpg";

Was auch super klappt.

Nun möchte ich aber während das neue Bild geladen wird, einen Div einblenden,
indem ich dann so etw. wie "Bild wird geladen" schreiben möchte.
Wie kann ich das realisieren.

Ich habe es schon mit:

e.onload = "divzeigen";
e.src = "blabla.jpg";
document.all.derbildwirdgeladendiv.style.visibility = "hidden";

probiert. In der Funktion divzeigen habe ich angegeben, dass der div "derbildwirdgeladendiv" sichtbar wird. Das klappt auch toll, also er wird sichtbar und verdeckt dann auch das Bild, nur er sollte eig. dann wieder unsichtbar werden, wenn das Bild fertig geladen ist, was leider nicht klappt.
Wie kann ich dies schaffen?

Mfg, Delfried

  1. Yerf!

    Ich habe es schon mit:

    e.onload = "divzeigen";
    e.src = "blabla.jpg";
    document.all.derbildwirdgeladendiv.style.visibility = "hidden";

    Hm, ist hier nicht ine bischen die Logik verdreht? Die Zuweiseung von e.src startet das Laden und wenn das fertig ist wird e.onload ausgeführt.

    probiert. In der Funktion divzeigen habe ich angegeben, dass der div "derbildwirdgeladendiv" sichtbar wird. Das klappt auch toll, also er wird sichtbar und verdeckt dann auch das Bild, nur er sollte eig. dann wieder unsichtbar werden, wenn das Bild fertig geladen ist, was leider nicht klappt.

    Der Div sollte bei deiner Version eigentlich erst sichtbar werden, wenn das Bild fertig geladen ist.

    e.onload = divverstecken; //hier eine Funktionsreferenz und kienen String zuweisen
    e.src = "blabla.jpg";
    document.getElementById("derbildwirdgeladendiv").style.visibility = "visible"; //document.all ist IE-spezifisch

    Gruß,

    Harlequin

    --
    <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
    1. Danke, ich dachte der Eventhandler onload würde sofort bei Beginn des Ladens starten.
      Klappt jetzt perfekt, Problem gelöst :)
      Thx.

      Das mit dem onload = "blablalblalab";

      War nur ein vertipper, das es anders gehört wusste ich.

      Mfg Delfried

  2. Mahlzeit,

    e.onload = "divzeigen";

    Du möchstest wirklich der Eigenschaft "onload" den String "divzeigen" zuweisen? Möchtest Du nicht vielmehr folgendes schreiben?

    e.onload = divzeigen;

    Du weißt aber auch, was das dann heißt? - "Sobald das Objekt e vollständig geladen ist, führe die Funktion divzeigen aus."

    e.src = "blabla.jpg";
    document.all.derbildwirdgeladendiv.style.visibility = "hidden";

    "document.all" ist GANZ BÖSE. Nutze stattdessen lieber http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id@title=getElementById().

    probiert. In der Funktion divzeigen habe ich angegeben, dass der div "derbildwirdgeladendiv" sichtbar wird. Das klappt auch toll, also er wird sichtbar und verdeckt dann auch das Bild, nur er sollte eig. dann wieder unsichtbar werden, wenn das Bild fertig geladen ist, was leider nicht klappt.
    Wie kann ich dies schaffen?

    Wie wär's mit ein bisschen mehr aussagekräftigem Beispielcode? Die paar Brocken sind nicht unbedingt verständlich ...

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Vielen Danke,
      Harlequin hat in etwa das gleiche auch gesagt, und etz funktioniert jetzt.
      Das mit dem string-zuweisen war nur hier im Post falsch.
      Ich habe bloß den Eventhandler falsch eingesetzt. Dachte er würde während des Ladens die Funktion starten nicht danach.
      Thx,
      Mfg Delfried