Niklas Bulitta: GIF Animation spielt nicht ab

Hi,

ich habe ein kleines Problem mit einer GIF Animation die einfach stehenbleibt und nich abgespielt wird.

Vielleicht kann mir einer von euch helfen, ich habe bereits gegoogled und auch selfhtml durchsucht.

Zu sehen ist das Problem auf unserem Projekt https://www.paguna.com und tritt hauptsächlich im Internet Explorer auf.

Sobald links, in der Suchen Spalte eine Stadt eingegeben wurde und die Suche beginnt öffnet sich ein Ladelayer in dem eine animierte GIF Datei liegt. Diese bewegt sich jedoch kein bisschen.

Hat jemand eine Idee?

Gruß,

Niklas

  1. Hallo,

    Vielleicht kann mir einer von euch helfen, ich habe bereits gegoogled und auch selfhtml durchsucht.

    schau doch nochmal (über "Suche") ins Forums-Archiv.

    Hat jemand eine Idee?

    Vielleicht muß das Bild nach dem Aufbau des "Layers" geladen werden,
    umd zwar vmtl. mit möglichst direkter Adressierung ohne Umwege über
    Objekte.

    Grüsse

    Cyx23

    1. Erstmal danke für deine Antwort!

      Der Lader wird immer dynamisch in den Layer gesetzt, das wird so gemacht weil ja auch nicht immer etwas geladen wird und dieses "Ladezeichen" auch an anderen Stellen auf der Seite verwendet wird.

      Mit folgendem Code wird das Ladebild eingsetzt:

      document.getElementById(div).innerHTML = "<div class='loader'>"
                                                  + loadingMsg
                                                  + "<br /><img src = '"
                                                  + server_address
                                                  + "images/progressbar.gif' alt='"
                                                  + loadingMsg
                                                  + "'/></div>";

      1. Hallo,

        hast du schon im Archiv gesucht?

        document.getElementById(div).innerHTML = "<div class='loader'>"
                                                    + loadingMsg
                                                    + "<br /><img src = '"

        Mal ungetestet ein Lösungsansatz:

        innerHTML='<img src="/images/leer.gif" '+
        'onload="this.src='/images/progressbar.gif'" '+
        'alt="'+'">'

        Falls der onload aber nochmals nach dem Bildwechsel erfolgen sollte,
        müßte noch eine Schleife verhindert werden. Vielleicht eine if-Abfrage
        nach dem gerade geladenen Bild (leer.gif oder nicht), also a la
        if(this.src=='leer.gif')this.src='/images/progressbar.gif',
        wobei statt gleich wahrscheinlich enthält bzw. indexOf nötig wäre.

        Falls das Nach-Laden des animierten Gifs nichts nützt könnte
        vielleicht statt innerHTML noch eine Änderung nach DOM versucht
        werden.

        Grüsse

        Cyx23

        1. Danke für deinen Lösungsansatz!
          Die Idee finde ich gut. Habe inzwischen tatsächlich das Archiv durchsucht und bin fündig geworden.

          Das ist wohl hauptsächlich ein IE Problem und tritt auf sobald ein Formular abgeschickt wurde. Der IE denkt wohl: Es kommt nun eh eine neue Seite, also kann ich die Verarbeitung der aktuellen unterbrechen.

          Habe mich nun dafür entschieden den Loader in Flash zu machen und falls kein Flash vorhanden ist das GIF anzuzeigen das funktioniert super :)

          Vielen Dank nochmal für deine Hilfe!

          Lieben Gruß,

          Niklas Bulitta