Hanniball: Layer in MS Explorer verschieben

Guten Morgen,

ich habe gerade schon mehrere Beispiele aus dem Archiv versucht bin aber nun am verzweifeln.

Ich moechte gerne einen Layer im MS-Explorer (jaja ich weiss) horizontal verschieben! und zwar das der layer (quadratform) 200 pixel nach rechts "fliegt" und wieder zurueck und das so 3 - 4 Mal und dann verschwindet.

Bei allen meinen Versuchen zieht der Explorer nur einen schwarzen Streifen!!!

Gebt mir einen Denkanstoss in welche Richtung ich denken muss!

Gruss

Hanniball

  1. Guten Morgen,

    Gebt mir einen Denkanstoss in welche Richtung ich denken muss!

    In welche Richtung hast Du denn bis jetzt gedacht?

    Bis dann,

    Ronny

    1. Guten Morgen,

      Gebt mir einen Denkanstoss in welche Richtung ich denken muss!

      In welche Richtung hast Du denn bis jetzt gedacht?

      Also bisher war mein gedankengang so das ich die layerposition (in diesem fall das attribut right) immer um einen Pixel erhoehe via Javascript. Mir ist klar das ich dem ganzen einen Timeout setzen muss! Bisher habe ich mit einer do - while Schleife gearbeitet und den Wert der Position immer um eins erhoeht!

      Bin fuer alle Vorschlaege offen!

      Bis denn dann

      Hanniball

      1. Ich habe das script so weit das ich jetzt in eine Richtung den Kasten bewege doch wie bewege ich ihn zurueck wenn er 200 Pixel erreicht hat?

        <script language="JScript" type="text/jscript">
        var x = 0;
        function move()
        {
         document.all.box1.style.right = x;
         if (x <= 200){
          x = (x + 1);
          if (x == 199){
          moveback()
          }
         }
         window.setTimeout("move()",10);
        }
        function moveback()
        {
         document.all.box1.style.right = x;
         if (x > 0){
          x = (x - 1);
          if (x == 1){
          move()
          }
         }
         window.setTimeout("moveback()",40);
        }
        </script>

        Gruss

        Hanniball

        1. Hi,

          so wie das aussieht, haben sich die zwei Timeouts in einer Endlosschleife verstrickt.

          Ich denke so geht's:

          <script language="JScript" type="text/jscript">
          var x = 0;
          function move(){
          if (x <= 50){x = (x + 1);window.setTimeout("move()",10)}
          else moveback();
          document.all.box1.style.right = x;
          }
          function moveback(){

          if (x > 0){x = (x - 1);window.setTimeout("moveback()",40)}
          else move();
          document.all.box1.style.right = x;
          }

          </script>

          Viel Spaß noch,

          Ronny

          1. Vielen Dank Ronny!!!!