Beiträge von Sempervivum

    Zitat

    wie genau fügt man den in die Javascript Version weitere bilder ein?

    Die Anzahl der Bilder kannst du mit der Variablen nrimg einstellen. Alles andere wird dann automatisch berechnet. Aber ich schrieb ja oben schon, dass Du wahrscheinlich verschiedene Bilder haben willst, Dann musst Du diese in einem Array ablegen und in der for-Schleife in das HTML eintragen. Ich wollte dir ja auch noch etwas zu tun lassen ;D

    Zitat

    Und ist es möglich den abstand der kleinen bilder zum großen zu verkleinern oder ist das durch die Bildgröße vorgegeben?

    Ja, der Abstand wird durch die Größe der beiden Container festgelegt:

    Code
            #rotwrapper {
                display: flex;
                align-items: center;
                justify-content: center;
                background-color: lightblue;
                width: 600px;
                height: 600px;
                position: relative;
            }

    und

    Code
            .imgwrapper {
                position: absolute;
                top: 0;
                left: 0;
                width: 600px;
                height: 600px;
                transform-origin: center center;
            }

    Wenn Du width und height verkleinerst, rücken die kleinen Bilder näher an das zentrale.

    Und diese musst Du anpassen:

    Code
            #rotwrapper .imgwrapper img {
                width: 74px;
                height: 74px;
                position: absolute;
                top: 0;
                left: 263px;
            }

    und zwar left, so dass das Bild genau in der Mitte ist. Hier: 600px/2 - 74px/2

    Mein zweiter Ansatz:

    • Die Werte werden automatisch mit Javascript berechnet und das CSS und das HTML generiert

    Templates und CSS:

    HTML und Javascript:

    Was noch fehlt: Unterschiedliche Bilder. Am besten die URLs in einem Array ablegen und in das Template einfügen.

    Ja, das ist mit CSS möglich. Mein erster Ansatz

    • nur CSS
    • Werte müssen händisch berechnet werden

    CSS:

    HTML:

    Code
    <div id="rotwrapper">
            <img id="centerimg" src="images/earth-transparent.png">
            <div class="imgwrapper nr1">
                <img src="images/moon-transparent.png">
            </div>
            <div class="imgwrapper nr2">
                <img src="images/moon-transparent.png">
            </div>
        </div>

    Das muss dann erweitert werden bis es 13 Bilder sind.

    Dann probiere mal, ob Du mit dieser Funktion zum Ziel kommst:

    Code
    function summieren() {
        var outputs = document.querySelectorAll(".divdice p[id^='output']");
        var sum = 0;
        for (var i = 0; i < outputs.length; i++) {
            var content = outputs[i].innerHTML;
            if (content != "") sum += parseInt(content);
        }
        document.getElementById("outputsumme").innerHTML = sum;
    }

    BTW: Ich habe da auch etwas mit Objekten experimentiert:

    Der Ansatz mit location.hash ist schon gut. Du kannst jedoch im HTML keine Javascript-Variable verwenden. Versuche dies:

    Code
    <body>
        
        <img id="dasbild">
    <script>
        var neu = location.hash.replace("#","");
        document.getElementById("dasbild").src = neu;
    </script>
    </body>