Beiträge von Sempervivum

    Willkommen im Forum!

    Zitat

    oder es besser machen könnte

    Kein Drama, aber es ist besser, Code in Textform zu posten, denn wenn man die Frage beantworten will ist es häufig angebracht, eine Testdatei anzulegen und dann tut man sich damit leichter. Und dabei Code-Tags benutzen, das </> in der Werkzeugleiste oben.

    Zitat

    Wenn ich es richtig verstanden habe, muss ich für die Positionierung von divs nebeneinander "nur" den Befehl display: inline nutzen, oder?

    Das stimmt im Prinzip, es gibt jedoch (mindestens) einen Fallstrick bei der Sache:

    padding und border werden der Breite zugeschlagen. Z. B. wenn Du zwei Container mit der Breite 50% hast, 10px padding und 2px border und der Platz beträgt 1000px, dann ergibt sich für einen Container jeweils ein Breite von 524px, so dass sie nicht mehr nebeneinander in die verfügbare Breite von 1000px nebeneinander passen.

    Lösung 1:

    Die Breite berechnen, indem padding und border von den 50% subtrahiert werden.

    Lösung 2 (besser):

    box-sizing: border-box; verwenden, siehe hier:

    https://wiki.selfhtml.org/wiki/CSS/Eigenschaften/box-sizing

    Lösung 3 (am besten):

    Flexlayout verwenden, siehe z. B. hier:

    https://css-tricks.com/snippets/css/a-guide-to-flexbox/

    Damit hast Du noch viele weitere Möglichkeiten, die Anordnung der Element zu steuern.

    Der Hauptgrund für deine Probleme mit dem Layout ist jedoch, dass Du float verwendest. Auch darauf kannst Du verzichten, wenn Du Flex nimmst.

    Zitat

    allerdings wird Java von keinem Browser mehr unterstützt

    Das trifft nur für die Java-Applets zu, aber nicht für standalone-Programme.

    Edit: Möglicher Weise missverständlich: Standalone-Programme haben natürlich mit dem Browser nichts zu tun.

    Generell musst Du dich entscheiden, ob dein Spiel im Browser laufen soll, dann Javascript und Canvas, sowie PHP für die Organisation, Highscore speichern etc.

    Oder Du programmierst es in Java, dann hat es mit dem Web und dem Browser nichts zu tun und läuft allein lokal.

    Erst dachte ich, es kann nicht an den Namen gelegen haben, aber doch. Der Fehler liegt hier:

    Code
    const totalo = this.parentNode.parentNode;
    totalo = totalo.querySelector('.total');        //total = das zu löschende Textfeld

    const bedeutet, dass man eine Konstante definiert, d. h. eine Variable die im weiteren Verlauf nicht geändert werden kann. Daher schlägt die Zuweisung in der zweiten Zeile fehl. Ich würde erwarten, dass das auch in der Console angezeigt wird. Hättest Du totalo mit let definiert, hätte es sicher funktioniert.

    Nein, weder ist mein Code fehlerhaft, noch hast Du etwas falsch verstanden. Nur unsere Testumgebungen unterscheiden sich offenbar: Ich habe in meiner Testdatei drei Scattercharts und Du nur einen mit unterschiedlichen y-Werten. Da hast Du sehr gut mitgedacht, auf die Idee hätte ich auch selber kommen können.

    Denke, jetzt verstehe ich es vollständig. Ich habe jetzt in meiner Testdatei die Zeile mit dem Löschbutton hinzu gefügt:

    Wenn ich jetzt dein Javascript aus Posting #8 nehme und nur die Namen ein wenig ändere, funktioniert es, das Eingabefeld für den Gesamtpreis wird gelöscht, wenn man das X klickt.

    Zitat

    Ich habe schon vermutet, dass <a> ebenfalls als Elternelement zählt und deswegen noch ein parentNode drangehängt, aber das ändert auch nichts.

    Eigentlich trifft das aber zu, das <a> zählt mit. Um das Ganze übersichtlicher zu machen, empfehle ich aber, die Verschachtelung von einem Button in einem <a> wegzulassen. Diese ist nicht valide und das hat seine Gründe: Was soll jetzt beim Klick ausgeführt werden, der click-Handler der Buttons oder das Javascript im href-Attribut des <a>?