Kai Hildebrandt: Bilder vorladen in Javascript Funktion

Hallo Forum.

Ich möchte eine Animation realisieren. Hierzu wechsle ich mit einer Javascript-Funktion lediglich das aktuelle Bild aus (document.getElementById("ID").src="datei.png").

Meine Frage:
Kann ich die Bilder irgendwie vor dem Aufruf dieser Funktion in den Browser-Cache laden? Es ist etwas doof, wenn man von dieser Animation nur das erste und letzte Bild sieht. :-(

Danke.
  Kai

  1. Hallo

    Kann ich die Bilder irgendwie vor dem Aufruf dieser Funktion in den Browser-Cache laden?

    Frage das Archiv, es weiß eine Menge zum Vorladen von Bildern.

    Es ist etwas doof, wenn man von dieser Animation nur das erste und letzte Bild sieht. :-(

    Was macht der 56K-User? Ich glaube kaum, er wird lange warten bis dort eine Animation aus vielen Einzelbildern fertig geladen ist.
    Verwende doch ein gif

    Grüße

    David

    --
    "Nobody will ever need more than 640k RAM!"
    1981 Bill Gates
    1. Frage das Archiv, es weiß eine Menge zum Vorladen von Bildern.

      Aber das mache ich doch gerade die ganze Zeit :-/

      Es ist etwas doof, wenn man von dieser Animation nur das erste und letzte Bild sieht. :-(
      Was macht der 56K-User? Ich glaube kaum, er wird lange warten bis dort eine Animation aus vielen Einzelbildern fertig geladen ist.

      Es sind 15 Bilder mit zwischen 3 und 10 KB. Macht ca. 250 KB. Das ist sogar für Modembenutzer vertretbar.

      Verwende doch ein gif

      Ich mag' GIFs nicht. Ich verwende sie selbst nur, um im IE (unter Windows) transparente Bilder nutzen zu können, da dieser den (schon sehr alten) PNG-Standard nicht unterstützt.

      Aber das ist eine andere Geschichte und die soll ein andermal erzählt werden...

      1. Hallo Kai (</faq/#Q-05a>)

        Verwende doch ein gif

        Ich mag' GIFs nicht. Ich verwende sie selbst nur, um im IE (unter Windows) transparente Bilder nutzen zu können, da dieser den (schon sehr alten) PNG-Standard nicht unterstützt.

        Nun, Gifs funktionieren auch in den Browsern, bei denen JavaScript abgestellt ist.

        Aber das ist eine andere Geschichte und die soll ein andermal erzählt werden...

        Ich denke du denkst das gleiche wie http://www.burnallgifs.org. Aber
        Das Unisys-Patent läuft AFAIK 2003 aus. Außerdem würde ich mir auch mal die Seite http://www.noepatents.org/gif.html angucken.

        Schöne Grüße

        Johannes (</faq/#Q-05c>)

        --
        This posting comes with ABSOLUTELY NO WARRANTY, to the extend permitted by applicable law.
        ss:| zu:) ls:[ fo:) de:] va:) ch:? sh:( n4:& rl:( br:< js:| ie:{ fl:( mo:}
        Selfcode? Was ist denn das? http://emmanuel.dammerer.at/selfcode.html
        1. Ich denke du denkst das gleiche wie http://www.burnallgifs.org. Aber
          Das Unisys-Patent läuft AFAIK 2003 aus. Außerdem würde ich mir auch mal die Seite http://www.noepatents.org/gif.html angucken.

          Ertappt! :-))

          Mal im Ernst:
          GIFs sind insofern Mist, als dass sie erstens größer sind als PNGs und zweitens nicht die Möglichkeiten von PNGs haben. Gut, das mit den Animationen haben sie den PNGs wieder voraus, aber das ist auch das einzige. Dafür gibt es ja dann MNGs, die allerdings nur sehr halbherzig in die Browser integriert sind, flash sei dank. :-(

          Naja... ich habe das Problem mit einer Mischung aus der von Ronny geposteten SelfHTML Lösung und eines Timeouts gelöst. Ist zwar nicht schön und funktioniert auch nur begrenzt, aber immerhin.

          Was mir vorschwebte war eine Funktion, die nachprüft, ob die Bilder bereits geladen sind (so a la document.images[i].comlete == true), aber es scheint wohl niemand eine derartige Lösung zu haben?

          Werde ich halt noch ein wenig basteln müssen.

          Danke auf jeden Fall mal.
            Kai

          PS:
          Werde Lösung ggf. posten!

          1. Hi,

            Naja... ich habe das Problem mit einer Mischung aus der von Ronny geposteten SelfHTML Lösung und eines Timeouts gelöst. Ist zwar nicht schön und funktioniert auch nur begrenzt, aber immerhin.

            Was mir vorschwebte war eine Funktion, die nachprüft, ob die Bilder bereits geladen sind (so a la document.images[i].comlete == true), aber es scheint wohl niemand eine derartige Lösung zu haben?

            http://selfhtml.teamone.de/javascript/objekte/images.htm#complete sollte Doch auch mit JavaScript "erzeugten" Bildern funktionieren, oder nicht?

            Zweite Idee: Binde die Bilder mit width und height = 1px oder ähnlich in Deine Seite ein und starte die Animation mit onload.

            Grüße,

            Ronny

            1. http://selfhtml.teamone.de/javascript/objekte/images.htm#complete sollte Doch auch mit JavaScript "erzeugten" Bildern funktionieren, oder nicht?

              Zweite Idee: Binde die Bilder mit width und height = 1px oder ähnlich in Deine Seite ein und starte die Animation mit onload.

              Nein, leider nicht.

              Folgendes:
              Es handelt sich um ein Spiel. Das ganze basiert auf JavaScript. Wenn ich die Seite neu lade, fängt das ganze wieder von vorn an (Variablen werden neu initialisiert).

              Ich werde das mit den Bildern jetzt anders machen (ohne JS):
              Unsichtbare <div>s, die die Bilder enthalten und somit diese dann laden. Mit den anderen Bilder hat das auch funktioniert, wenn es auch nciht so beabsichtigt war. ;-)

              Kai

          2. Hallo

            Ertappt! :-))

            Mal im Ernst:
            GIFs sind insofern Mist, als dass sie erstens größer sind als PNGs und zweitens nicht die Möglichkeiten von PNGs haben. Gut, das mit den Animationen haben sie den PNGs wieder voraus, aber das ist auch das einzige. Dafür gibt es ja dann MNGs, die allerdings nur sehr halbherzig in die Browser integriert sind, flash sei dank. :-(

            Darüber ließen sich ausgedehnte Debatten führen, aber die gab es ja schon, im Archiv. :-)

            Schöne Grüße

            Johannes

            --
            This posting comes with ABSOLUTELY NO WARRANTY, to the extend permitted by applicable law.
            ss:| zu:) ls:[ fo:) de:] va:) ch:? sh:( n4:& rl:( br:< js:| ie:{ fl:( mo:}
            Selfcode? Was ist denn das? http://emmanuel.dammerer.at/selfcode.html
  2. Hi Kai,

    mach es doch wie hier gezeigt:

    http://selfhtml.teamone.de/javascript/beispiele/buttons.htm#quelltext

    Grüße,

    Ronny