timmy_: stopen

ho leute,

ich habe sowas wie drag & drop vor zu programmieren.
Also ein element doppelanklicken und an einer stelle schieben.
Das funktioniert schonmal^^ aber nur im FF.
Aber ich bekomme das nicht abgelegt, kann ich da noch was machen?
hier mal der Code:

  
<script type="text/javascript">  
  
 function bewegen(evt)  
   {  
     window.document.onmousemove = bewegen;  
     document.getElementById("test").style.left=evt.clientX+"px";  
     document.getElementById("test").style.top=evt.clientY+"px";  
  
   }  
</script>  
</head>  
<body>  
<div id="test" style="position:absolute" onDblClick="bewegen()">  
<b> Der soll ,!</b>  
</div>  
  

Wie gesagt verfolgen macht der auf doppelklick, aber wie kann ich das umsetzten das das "was mich verfolgt" an der stelle bleibt wo ich klicke?

Danke wenn mir einer helfen kann!

  1. n'abend,

    Wie gesagt verfolgen macht der auf doppelklick, aber wie kann ich das umsetzten das das "was mich verfolgt" an der stelle bleibt wo ich klicke?

    das bekommst du hin, wenn du onmousemove wieder freigibst. Beispielsweise so:

    <script type="text/javascript">  
      
    function bewegen(evt)  
    {  
      document.getElementById("test").style.left=evt.clientX+"px";  
      document.getElementById("test").style.top=evt.clientY+"px";  
    }  
      
    function bewegenStartStop()  
    {  
      if( !this.isActive )  
      {  
        this.isActive = true;  
        window.document.onmousemove = bewegen;  
      }  
      else  
      {  
        this.isActive = false;  
        window.document.onmousemove = null;  
      }  
    }  
    </script>  
    </head>  
    <body>  
      
      
    </head>  
    <body>  
    <div id="test" style="position:absolute" onDblClick="bewegenStartStop()">  
    <b>ich folge dir, wenn du mich doppelt anklickst</b>  
    </div>
    

    die funktion bewegenStartStop() merkt sich selbstständig, ob sie gerade aktiv ist, oder nicht.

    weiterhin schönen abend...

    --
    wer braucht schon großbuchstaben?
    sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|
    1. hallo globe,

      hey super, schönen dank.
      das mit dem freigeben habe ich mir auch schon gedacht, wusste aber nicht das es möglich ist.
      nochmals schönen tag.

      dir auch einen schönen abend!

      timmy_

    2. function bewegenStartStop()
      {
        if( !this.isActive )
        {
          this.isActive = true;
          window.document.onmousemove = bewegen;
        }
        else
        {
          this.isActive = false;
          window.document.onmousemove = null;
        }
      }

      Nur damit kein Mißverständniss entsteht, this ist hier etwas unglücklich gewählt, da es in diesem Zusammenhang das Gleiche wie window ist. Also nichts weiter als eine Globale Variabel. this sollte man nur im Zusammenhang mit Objekten verwenden, um auf die verschiedenen Instanzen zu zugreifen.

      Struppi.

      --
      Javascript ist toll (Perl auch!)