Beiträge von Sempervivum

    Zitat

    ich habe Spaß am Herausfinden, was noch geht.

    Warum investiert Du deinen Lernwillen dann nicht in die richtige Richtung? Heute werden Webseiten auf allen möglichen Geräten aufgerufen und angezeigt, mit ganz unterschiedlichen Abmessungen des Browserfensters. Das erfordert ein responsives Layout, das mit Boxen fester Größe nicht realisierbar ist. Informiere dich dazu z. B. hier:

    https://wiki.selfhtml.org/wiki…ials/responsive_Webdesign

    Zitat

    Das Einbetten also <embed> funktioniert in der Tat. Ich habe eine Beispiel.txt erstellt und im HTML Körper mit


    <embed type="text/plain" src="beispiel.txt"></embed>


    den Text aus der Beispiel.txt Datei genau in die Box geholt, die ich wollte.

    Hast Du dabei einen gravierenden Nachteil dieser Methode nicht bemerkt: Die Größe des Elementes passt sich nicht an den Inhalt an, sondern wird durch width und height bzw. deren Defaultwerte fest gelegt. Das Problem hast Du nicht, wenn Du die Dateien mit PHP-include einbindest.

    Ich bin nicht bis ins letzte Detail in deinen Code eingestiegen, nur einige Hinweise, was schnell auffällt:

    • Das mit den data-Attributen hast Du schon sehr schön gemacht.
    • Tu dir einen Gefallen und style das Ganze nicht mit float. Für die Türchen eines Adventskalenders bietet sich ein Gridlayout an.
    • Ein a-href-Tag um Javascript auszuführen, ist ein wenig umständlich. Du kannst statt dessen einfach Eventlistener auf die Türchen registrieren:
    Code
    1. document.querySelectorAll('.Fenster').forEach((dasFenster) => {
    2. dasFenster.addEventListener((event) => {
    3. const derLink = dasFenster.dataset['link'],
    4. derText = dasFenster.dataset['text'];
    5. // so kannst Du die data-Attribute auslesen
    6. // und die Werte in das Overlay eintragen.
    7. });
    8. });
    Zitat

    Ist in der Kugel auch ein Bild drinnen, oder wird das alles durch Berechnungen da rein gecodet?

    Nein, in der Kugel ist eine virtuelle Kamera, die die Umgebung fotografiert. Und dieses Bild wird dann umgerechnet und auf die Kugel gelegt.

    Zitat

    Gibt es für solche Berechnungen ein Ausdruck ( wie 3 Satz Algebra usw. ) ?

    Ja, das dürfte im wesentlichen Trigonometrie oder Winkelmathematik sein, und das in 3D, wahrscheinlich mit Matrizen, Vektoren etc.


    Hier ist noch eine andere Demo von threejs:

    https://threejs.org/examples/#…materials_cubemap_dynamic

    Dort sieht man, dass die Kamera die Umgebung mit den anderen Objekten, die herumfliegen, aufnimmt.

    Danke! Diese Berechnungen brauchen viel Power auf der GPU. Auf meinem PC läuft es vollkommen flüssig, auf meinem Handy ruckelt es beim Ziehen sehr stark. (Samsung A50, d. h. kein Premiummodell).

    Ich habe mich ein wenig mit einer kleinen Spielerei mit three.js beschäftigt. Manche Hobbyfotografen haben solch eine Glaskugel, die wie eine Linse wirkt und die Szene dahinter verkehrt herum abbildet. Ich habe so etwa mal mit three.js nachgebildet, aber keine transparente sondern ein spiegelnde Kugel, die die Szene im Rücken des Betrachters abbildet. Hier das Ergebnis, es ist interaktiv, d. h. man kann sich durch Ziehen der Maus darin bewegen und zoomen durch das Mausrad. Das Interaktive funktioniert auf meinem Smartphone noch nicht perfekt. weil beim senkrechten Ziehen auch die Default-Aktion wirkt und das ganze Bild verschoben wird.

    https://webentwicklung.ulrichb…-reflection-sphere-2.html

    Das behauptest du aber das trifft nicht zu :-) Außerdem hast du meinen Code falsch wieder gegeben.

    Versuche dies, dann erkennst Du, dass die globale Variable durch die Funktion auto verändert wird:

    Java als Kommunikationspartner ist in diesem Zusammenhang etwas ausgefallen, ich kenne es nur mit einem Webserver und PHP.

    Aber anscheinend kann man auch mit Java einen Webserver bauen.

    Auf diese Weise kannst Du einen JSON-String mit der fetch-API versenden:

    Den JSON-String findest Du dann in der Postvariablen data vor.

    Das war auch nur als Demo gedacht, dass Du eine globale Variable aus einer Funktion heraus verändern kannst. Versuche dies mit einem Button:

    Code
    1. <button type="button" onclick="auto();">Klick!</button>
    2. <script>
    3. let a = 0; // globale Variable definieren
    4. function auto() {
    5. a++; // globale Variable verändern
    6. console.log(a);
    7. }
    8. </script>

    Ich verstehe leider deine Frage nicht ganz:

    Zitat

    Wenn ein Button angewählt wird, soll unter anderem eine globale Variable übergeben werden .

    ...

    Sobald der Button angeklickt wird, brauche ich eine globale Variable, die ich irgendwo im Script mehrer Male verwenden kann:

    Ich probierte mit: a=0;function auto() {a=1;}

    Willst Du innerhalb der Funktion eine globale Variable verändern? Das funktioniert schon, wenn Du sie zuvor global definiert hast. Versuche dies:

    JavaScript
    1. let a = 0; // globale Variable definieren
    2. function auto() {
    3. a = 1; // globale Variable verändern
    4. }
    5. auto();
    6. console.log(a);

    Dass das nicht funktioniert hat zwei Gründe:

    1. Der Selektor .tabelle tr ist spezifischer als .collapse und hat daher eine höhere Priorität.
    2. background-image liegt über background-color und verdeckt diese.

    Lösung indem Du den Selektor spezifischer machst und das Hintergrundbild weg nimmst:

    Code
    1. .tabelle tr.collapse {
    2. visibility: collapse;
    3. background-color: coral;
    4. background-image: none;
    5. }

    Ich gehe davon aus, dass Du alles zusammen in ein JSON packen willst, dann darfst Du das stringify erst auf das Endergebnis anwenden:

    Dieses:

    Code
    1. bestellung ={boxen: alleGetränkenamen , preise: alleGetränkepreise, gesamtPreis: endsumme};

    geht genau so gut, auch wenn mir selber mein Vorschlag sympatischer ist. Als alleGetränkenamen kannst du problemlos auch dein Array eintragen, ebenso für allGetränkepreise.