Ankündigung

Einklappen
Keine Ankündigung bisher.

Div bewegen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Div bewegen

    Hallo,

    ich versuche verzweifelt das div richtig bewegen zu können, jedoch ist wohl die animate funktion eine schlechte wahl, oder ich bin buchstäblich zu doof.

    PHP-Code:
    //bewegung
    $(document).ready(function() {
        $(
    document).keydown(function(event) {
            var 
    key String.fromCharCode(event.keyCode);
            
    key.toUpperCase();
                    switch(
    key) {

                case 
    "W":

                $(
    ".gameuser").css("background-image""url(/img/figur.png)");
                    $.
    getJSON"/ajax/ajax1.php?1=W", function( daten ) {
                        $( 
    ".gameuser" ).data("x"daten.x);
                        $( 
    ".gameuser" ).data("y"daten.y);
                        if(
    daten.laufbar == 1)
                        {
                            
    zoom = $("#gamesize").data("zoom");
                            
                            $(
    ".gameuser").stop(falsefalse);
                            
                            $( 
    ".gameuser" ).filter(":not(:animated)").animate({ "bottom": (daten.y*zoom-zoom)+"px""left": (daten.x*64-64)+"px" }, "1000");
                        
                        }
                    });
                break;
                case 
    "A":

                $(
    ".gameuser").css("background-image""url(/img/figur.png)");
                    $.
    getJSON"/ajax/ajax1.php?1=A", function( daten ) {
                        $( 
    ".gameuser" ).data("x"daten.x);
                        $( 
    ".gameuser" ).data("y"daten.y);
                        if(
    daten.laufbar == 1)
                        {
                            
    zoom = $("#gamesize").data("zoom");
                            $(
    ".gameuser").stop(falsefalse);
                            
                            $( 
    ".gameuser" ).filter(":not(:animated)").animate({ "bottom": (daten.y*zoom-zoom)+"px""left": (daten.x*64-64)+"px" }, "1000""linear" );
                            
                        }
                    });
                break;
                case 
    "D":
                $(
    ".gameuser").css("background-image""url(/img/figur.png)");
                    $.
    getJSON"/ajax/ajax1.php?1=D", function( daten ) {
                        $( 
    ".gameuser" ).data("x"daten.x);
                        $( 
    ".gameuser" ).data("y"daten.y);
                        if(
    daten.laufbar == 1)
                        {
                            
    zoom = $("#gamesize").data("zoom");
                            $(
    ".gameuser").stop(falsefalse);
                            
                            $( 
    ".gameuser" ).filter(":not(:animated)").animate({ "bottom": (daten.y*zoom-zoom)+"px""left": (daten.x*64-64)+"px" }, "1000""linear" );
                        
                        }
                    });
                break;
                case 
    "S":
                $(
    ".gameuser").css("background-image""url(/img/figur.png)");
                    $.
    getJSON"/ajax/ajax1.php?1=S", function( daten ) {
                        $( 
    ".gameuser" ).data("x"daten.x);
                        $( 
    ".gameuser" ).data("y"daten.y);
                        if(
    daten.laufbar == 1)
                        {
                            
    zoom = $("#gamesize").data("zoom");
                            $(
    ".gameuser").stop(falsefalse);
                            $( 
    ".gameuser" ).filter(":not(:animated)").animate({ "bottom": (daten.y*zoom-zoom)+"px""left": (daten.x*64-64)+"px" }, "1000""linear" );
                        }
                    });
                break;
                case 
    "I":
                    
    toggleDiv(inventar);
                break;
            }

        });

    }); 
    das wäre der code, man kann sie bewegen, das ist nicht das problem, sondern eher das das div springen tut bzw durch die karte hüpfen tut.
    Also wenn ich angenommen w drücke rennt oder slidet das div weiter als es soll es lässt sich auch durch den gegenpart s nur schwer bremsen bzw in die andere richtung bringen.

    wäre nett wenn mir wer hlefen kann.
    mfg

  • #2
    Poste das bitte noch mal in lokal testbar per Copy & Paste.

    Kommentar


    • #3
      Ich werfe einfach mal auf gut Glück queue: false als zusätzliche Option für die animate-Methoden in den Raum. Probier's einfach mal aus.

      Kommentar


      • #4
        danke, nun bekommt man ihn besser kontorlliert, jedoch besteht das problem das er ja schneller wird weiterhin. und das ja weis ich nicht wie ich das löse

        Kommentar


        • #5
          Das ist nun mal das Prinzip von Events. Die Tastatur puffert lange gehaltene Keys als mehrere Tastendrücke und JS erzeugt für jeden Tastendruck einen Sprung.
          [COLOR="#F5F5FF"]--[/COLOR]
          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
          [COLOR="#F5F5FF"]
          --[/COLOR]

          Kommentar


          • #6
            wie kann ich dies abändern?!

            mfg

            Kommentar


            • #7
              debounce würd ich vorschlagen:
              http://unscriptable.com/2009/03/20/d...cript-methods/

              Kommentar


              • #8
                IMHO gar nicht. Vielleicht mit debounce -> Google.

                [edit] Zu lahm.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  hab mir das mal angeschaut, wenn ich es recht verstanden habe verzögert debounce den output richtig?!

                  Kommentar


                  • #10
                    hab mich nun die ganze zeit ja belesen, ich denke es sei wohl die lösung aber ich hab kein plan wie ich es einbaue

                    Kommentar


                    • #11
                      Ja schade. Suchste Dir halt ein anderes Projekt.
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar


                      • #12
                        mensch bist du nett, freundlichkeit war nicht so deins ne

                        Kommentar


                        • #13
                          http://davidwalsh.name/function-debounce das sei dir empfohlen.

                          Kommentar


                          • #14
                            Zitat von Schlafmuetz Beitrag anzeigen
                            mensch bist du nett, freundlichkeit war nicht so deins ne
                            Nimm es ihm nicht zu übel, er hat hier teilweise einen sehr harten Job!

                            Kommentar


                            • #15
                              Sicher, dass das Problem nicht falsch angegangen wird? Ich werde mir nicht den Code vom Startpost durchlesen aber kann man das Problem nicht durch Stoppen der Animation beheben? http://api.jquery.com/stop/

                              Kommentar

                              Lädt...
                              X