• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Performance-Problem bei grabbable

Aaron3219

Senior HTML'ler
Hey liebes Forum,

ich habe da mal ein Problem. Im Moment versuche ich eine grabbable-Script zu schreiben. Mir ist bewusst, das JQuery-UI existiert, ich möchte es dennoch selber machen.
Hier die Versuchsumgebung:
https://jsfiddle.net/Aaron3219/zb99xdsu/

Wenn man nun das div nimmt, dann 10-20 Sekunden hin und her bewegt und dann loslässt, wird beim erneuten Grabben (manchmal) ein 2. Klon erstellt und man kann das div nur bewegen, wenn man die Maus loslässt (was ja eigentlich nicht sein soll).

Mein Gedanke ist, das jedes mal ein neues Event gefeuert wird, ich weiß aber nicht, was ich dann verändern muss um das zu verhindern.
 
Werbung:
Wenn man schnell hintereinander die Maustaste drückt ,und dann die Maus bewegt,dann kommt der Effekt auch ,sogar zimlich oft.Wenn man nur schnell drückt ,und die Maus nicht bewegt ,kommt der Effekt nicht.Vieleicht hilft das bei der Fehler suche.Habe zwar auch schon getestet,aber habe es nur hinbekommen das der Fehler seltener kam,aber weg auch nicht .
 
Wenn man schnell hintereinander die Maustaste drückt ,und dann die Maus bewegt,dann kommt der Effekt auch ,sogar zimlich oft.Wenn man nur schnell drückt ,und die Maus nicht bewegt ,kommt der Effekt nicht.Vieleicht hilft das bei der Fehler suche.Habe zwar auch schon getestet,aber habe es nur hinbekommen das der Fehler seltener kam,aber weg auch nicht .
Ich habe mir mal deinen Code aus deinem gelöschten Beitrag angeschaut (https://jsfiddle.net/basti1012/zb99xdsu/7/), aber ich kann keine Verbesserung feststellen. Würde für mich auch keinen Sinn machen.
 
Werbung:
Nun ja,
nach einiger Zeit konnte ich das Problem beheben.
Es war ein leicht zu übersehender Fehler:
Code:
$(document).bind('mousemove', function () {
      var xKoor = event.pageX;
      var YKoor = event.pageY;       

      elem.css({left: xKoor - xelemKoor + "px", top: YKoor - YelemKoor + "px"});

    });
Was ist fehlt ist das "return false;". So wurde aus dem alten Fiddle nun das neue, voll funktionierende:
https://jsfiddle.net/Aaron3219/zb99xdsu/
 
Meistens ist die Lösung einfacher als man denkt. Habe den Code mal gerade getestet und habe kein Fehler gefunden.Habe es mit Gewalt versucht das der div wieder kleben bleibt ,aber nicht geschafft.
 
Zurück
Oben