Beiträge von Sempervivum

    Das zweite Javascript macht nicht so wirklich Sinn. Dies:

    {"x": 124, "y": 248}

    muss vom Server zurück gegeben werden.

    Wenn ich mir das erste Skript ansehe, sieht das aber schon recht viel versprechend aus. Es gibt offenbar eine Info data.posKran die die Position des Krans angibt. Allerdings scheint das nur ein Wert zu sein, während Du früher von x und y geschrieben hast. Wie verhält es sich damit?

    Als ersten Ansatz für eine Animation versuche dieses:

    Dann müsste sich das Bild eigentlich schon bewegen. Wenn nicht, wirf einen Blick in die Console, ob Fehlermeldungen zu sehen sind.

    Da fällt sofort auf, dass in dem zweiten Bild nur eine Anfrage zu sehen ist. D. h. userFiles.php wird gar nicht abgerufen. Ich habe auch eine Vermutung warum: Im Success-Callback fragst Du ja auf den Inhalt der Antwort ab:

    Code
                       $.ajax({  
                            type: "POST", 
                            url: "includes/deleteFile.php",   
                            data: {del_id:del_id},
                            success: function(data) {
                                if(data) {
                                    $("#refreshData").load("userFiles.php?user=" + benutzerID + " #refreshData");
                                }
                            }
                        });

    Jetzt ist deleteFolder.php doch interessant, denn dort erkennt man, dass überhaupt nichts ausgegeben wird.

    Lass einfach die Abfrage weg und hole die Refresh-Daten unbedingt:

    Zitat

    Mir wurde mal gesagt, dass wenn der Status 200 eintritt, er wohl im Success Teil ist. Habe mal nachgeschaut. Also in dem Status 200 ist er.

    Ja, Status 200 sagt, dass die Anfrage an den Server erfolgreich war. Sie sagt jedoch nichts darüber aus ob der Inhalt der Antwort sinnvoll ist oder nicht. Die Antwort kannst Du dir im Netzwerk-Tab der Entwicklerwerkzeuge ansehen und prüfen ob das drin steht was Du brauchst.

    Wichtiger als deleteFolder.php wäre der Code von userFiles.php denn dadurch wird ja die Anzeige aufgefrischt. Insofern ist bei den Antworten vom Server auch nur die auf das jQuery-load interessant.

    Zitat

    Diese verschachtelten Event-Handler finde ich jetzt persönlich eher unschön, aber das ist sicher Geschmackssache. :)

    Das ist allerdings Ansichtssache, an anderer Stelle wurde dieses Verfahren mit dem Eventbubbling als "ultima ratio" und "best practice" propagiert :) Gerade wenn es um dynamisch hinzu gefügte Elemente geht, finde ich diesen Weg sehr elegant und man vermeidet damit alle Probleme, die sonst damit verbunden sein können.

    Zitat

    Und 2500px breite ist heute Standard für Monitore

    Dann bin ich ja ein Dinosaurier, denn ich habe nur einen FullHD-Monitor und bin glücklich damit :D Und normaler Weise habe ich meinen Browser auch nicht im Vollbild.

    Hier das Javascript mit Kommentaren:

    Im Moment habe ich mehrere Aktivitäten laufen, daher habe ich meinen Grundsatz, das was ich poste auch zu erklären, leider zunächst vernachlässigt.

    Zitat

    Die gesamte Funktion "doIt" ist mir derzeit noch ein Rätsel, ich begreife beim besten Willen nicht, was sie tut

    Ich werde ein paar Kommentare hinein schreiben, damit es verständlich wird.

    Zitat

    Ich dachte, ich könne den Abbruch der verzögerten Funktionen einfach auf den nächsten Mausklick legen, aber das scheint nicht richtig zu sein ...

    Doch, das ist schon richtig. Du hast ja die ID des jeweiligen Timers in der Variablen timer . Dann brauchst Du nur clearInterval aufzurufen, um den Timer zu stoppen:

    Code
    if (timer) {
        clearTimeout(timer);
    }

    Und das kannst Du innerhalb des Eventlisteners für den Klicker tun.

    Am besten erst Mal den überflüssigen Container .navback löschen, dann gibt es kein Rätselraten, wo man überall welche Eigenschaft setzen muss. Und dann die äußeren Container mit stretch versehen bzw. align-items weg lassen aber für den inneren center verwenden, damit die Inhalte zentriert werden.

    Zitat

    mir ist bloß wichtig die Navi bar, warum die sich zusammen zieht und nicht auf 1600px breite bleibt und erst beim geringeren des Fenster zusammen zieht

    Das ist genau das, was man normaler Weise will, wenn man Flexlayout verwendet. Sie zieht sich zusammen, weil Du align-items: center; für Body und .navback verwendet hast. In dem Fall wird sie nicht breiter als die Inhalte darin es erfordern. Nimmst Du statt dessen stretch, werden die Elemente die ganze Breite ausfüllen.

    Zitat

    in jedem Fall gilt doch: je kürzer, desto besser.

    Da stimme ich nur bedingt zu: Abgesehen von Variablen wie i und skurrilen Wettbewerben namens "Codegolfing" ziehe ich Klarheit und Lesbarkeit der Kürze vor, auch wenn es um sprechende Variablennamen geht. Also, wie anfangs vorgeschlagen, eine Status-Variable mit den Werten "zeigeFrage" und "zeigeAntwort" oder wenn man ein boolean nimmt, einen Namen, der angibt, was drin steht, z. B. let zeigeAntwort = false; Ist diese false gilt dann "zeigeFrage".

    Was Klarheit und Lesbarkeit betrifft, ist deine Lösung, Failix aus #17 IMO im Vorteil, weil man sehr schnell erkennt, was Du vor hast. Will man die Timer stoppen, sehe ich jedoch den Nachteil, dass es gleich 4 Timervariablen gibt. Als Alternative zu setInterval und einer Statuskennung möchte ich eine Lösung vorschlagen, die, wie die Fragen und Antworten, auf einem Array basiert:

    (ungetestet)

    OK, dann brauchst Du eine Webseite, die nur den Wert dieser Variablen ausgibt und sonst nichts. Da Du schreibst X und Y würde sich die Kodierung in JSON anbieten, d. h. Du müsstest dies ausgeben:

    {"x": 124, "y": 248}

    Holen dann über Ajax, z. B. mit fetch:

    Code
            fetch('position.json',).then(res => {
                return res.json();
            }).then(res => {
                console.log(res);
                // Jetzt stehen x und y in dekodierter Form
                // im Parameter res zur Verfuegung:
                console.log(res.x);
                console.log(res.y);            
            });

    Guten Morgen Knausbaer, Flask/Python ist ja serverseitig. Ich verstehe dich jetzt so, dass diese Variable sich im Betrieb ändert und Du die Position auf Grund der Variablen laufend neu festlegen willst. In dem Fall müsstest Du die Variable mit Ajax immer neu vom Server holen.

    Edit: Oder gibt die Variable den Endwert an, wohin der Kreis verschoben werden soll?