Kai: Aktualisierung der Anzeige von div(ision)s mit Mozilla

Hallo zusammen.

Ich benutze einen absolut positionierten <div>...</div>-Bereich, um eine Animation via JavaScript zu ermöglichen. Das Problem ist aber, dass Mozilla den Script zwar ausführt, die Anzeige aber nicht aktualisiert, d.h. ich sehe keine Änderung der Position.

Bei Opera funktioniert es einwandfrei und mit IE habe ich es nicht getestet.

Kann man bei Mozilla irgendwie erzwingen, dass das Bild aktualisiert wird (ohne Reload der Seite!)?

Kai

  1. Hallo Kai,

    Kann man bei Mozilla irgendwie erzwingen, dass das Bild aktualisiert wird (ohne Reload der Seite!)?

    Selbstverständlich. Ohne Deinen Quelltext zu kennen, können wir Dir aber leider nicht sagen, woran Du gescheitert bist.

    Viele Grüße,
    Christian

    --
    Hast Du einen Beitrag? Nur her damit!
    http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
    1. Hallo Kai,

      Kann man bei Mozilla irgendwie erzwingen, dass das Bild aktualisiert wird (ohne Reload der Seite!)?

      Selbstverständlich. Ohne Deinen Quelltext zu kennen, können wir Dir aber leider nicht sagen, woran Du gescheitert bist.

      Viele Grüße,
      Christian

      »»
      Die JavaScript Funktion:
      xm=280; ym=360;

      function MausHelper()
      {
        document.getElementById("dMaus").style.left = xm;
        document.getElementById("dMaus").style.top  = ym;

      ym--;
        xm = xm + 15;

      if( xm < 580 ) {
          setTimeout("MausHelper()",150);
        } else {
          document.getElementById("dMaus").style.visibility = "hidden";
        }
      }

      MausHelper();

      Und der dazu gehörende HTML-Code:

      <div id="dMaus" class="dMaus"><img src="../images/Maus.gif" alt=""></div>

      Formatiert mit CSS (extern):

      div.dMaus {
              position:absolute;
              left:280px;
              top:360px;
              width:30px;
              height:20px;
              z-index:5;
              }

      Genügt das?
        Kai

      1. Hi,

        Kann man bei Mozilla irgendwie erzwingen, dass das Bild aktualisiert wird (ohne Reload der Seite!)?
        Die JavaScript Funktion:
        xm=280; ym=360;
        function MausHelper()
        {
          document.getElementById("dMaus").style.left = xm;

        Dir ist bekannt, daß 280 (oder 295 oder 310 oder 325 oder ...) kein gültiger Wert für die CSS-Property left ist?
        Eine Längenangabe erfordert, wenn der Wert ungleich 0 ist, zwingend die Angabe einer Einheit.
        Denn sonst ist nicht bekannt, ob 280px, 280in, 280em, 280mm, 280ex, 280%, 280pt,280cm oder 280pc gemeint sind.

        Mozilla ignoriert normalerweise fehlerhafte Angaben.
        Also: übergib einen korrekten Wert.

        document.getElementById("dMaus").style.top  = ym;

        selbiges für top.

        cu,
        Andreas

        --
        Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
        http://mud-guard.de/? http://www.andreas-waechter.de/
        1. document.getElementById("dMaus").style.left = xm;
          Dir ist bekannt, daß 280 (oder 295 oder 310 oder 325 oder ...) kein gültiger Wert für die CSS-Property left ist?

          Nein, ich dachte, Pixel wären default und somit keine Angabe nötig. Die Entwickler vom IE und Opera haben das wohl ähnlich gesehen.

          Eine Längenangabe erfordert, wenn der Wert ungleich 0 ist, zwingend die Angabe einer Einheit.
          Denn sonst ist nicht bekannt, ob 280px, 280in, 280em, 280mm, 280ex, 280%, 280pt,280cm oder 280pc gemeint sind.

          Das ist richtig.

          Mozilla ignoriert normalerweise fehlerhafte Angaben.
          Also: übergib einen korrekten Wert.

          Habe ich getan. Es läuft!

          Danke.

          document.getElementById("dMaus").style.top  = ym;
          selbiges für top.

          Entschuldige, aber die obere Zeile ist die selbe wie oben. Aber so habe ich es jetzt abgeändert:
          document.getElementById("dMaus").style.top  = ym +"px";

          Nochmals danke. ;-)
            Kai