Andreas: Funktionen anhalten ?

Hallo,
diese Funktion soll bei Mouseover gestartet werden. Funktioniert ja auch alle ganz gut nur nach jedem neuen Mouseover läuft die Funktion noch schneller ab.
Ich habe mir überlegt das man am Anfang der Funktion diese stoppen müßte und wieder neu starten tut, nur wie?

<script language="javascript">
var x;
var richtung = true;
var delta = 15;
var pos = 220;

function init()
  {
   x = document.getElementById("div1");
   setInterval("neuePosition()", 10);
  }
function neuePosition()
  {
   if (richtung)
     {
      pos += delta;
      if (pos > 350) richtung = false;
     }
   else
     {
      pos -= delta;
      if (pos < 220) richtung = true;
     }
   x.style.left = pos;
  }

</script>

Andreas

  1. Hi!
    Versuch es mal so.

    <script language="javascript">
    var x;
    var richtung = true;
    var delta = 15;
    var pos = 220;

    var stopper = 0;

    function init()
      {

    if(stopper == 0){
          stopper = 1;

    x = document.getElementById("div1");
       setInterval("neuePosition()", 10);

    }

    }
    function neuePosition()
      {
       if (richtung)
         {
          pos += delta;
          if (pos > 350) richtung = false;
         }
       else
         {
          pos -= delta;
          if (pos < 220) richtung = true;
         }
       x.style.left = pos;
      }

    </script>

    Ich Hoffe mal das es das ist was du suchst.

    MfG
    Dr. Ma-Busen

    1. ja das hilft mir schon weiter nur wie halte ich die Funktion wieder an ?

      Andreas

      1. Hi!

        Die Funktion kannst du wieder anhalten in dem du das setInterval wieder mit clearInterval löschst. Hab das hier mal eingebaut.

        <html>
        <div id="div1" style="position:absolute; background:red; width:100;height:100" onMouseover="init()"></div>
        <a href="javascript:stop()">stop</a>
        <body>
        <script language="javascript">
        var x;
        var richtung = true;
        var delta = 15;
        var pos = 220;
        var stopper = 0;
        function init()
          {
          if(stopper == 0){
          stopper=1;
           x = document.getElementById("div1");
           aktiv = window.setInterval("neuePosition()", 10);
           }
          }

        function stop(){
         window.clearInterval(aktiv);
         stopper = 0;
        }

        function neuePosition()
          {
           if (richtung)
             {
              pos += delta;
              if (pos > 350) richtung = false;
             }
           else
             {
              pos -= delta;
              if (pos < 220) richtung = true;
             }
           x.style.left = pos;
          }

        </script>
        </body>
        </html>

        MfG
        Dr. Ma-Busen