Beiträge von Sempervivum

    Du hast schon richtig vermutet, das liegt am Canvas. Das Problem ist, dass Du es mit position:relative positioniert hast, In dem Fall bleibt der Raum an der ursprünglichen Position reserviert; das ist meistens nicht das, was man haben will. Ändere es auf position:absolute und alles ist gut.

    Wird das bei 10% Höhe nicht alles ein bisschen zu groß? Ich frage mich, ob dann alles noch in der Horizontalen heinein passt? Und müsste dann nicht auch die Schrift vergrößert werden, damit sie zu den Buttons passt?

    Mit diesem CSS:

    Sieht es so aus:

    html-seminar.de/woltlab/attachment/1438/

    Nur der mittlere Container ist scrollbar, bei unterer Scrollposition ist nichts verdeckt.

    Auch im Header kann man auf die absolute Positionierung des Bildes und die feste Höhe verzichten, wenn man Flex verwendet.

    Auf die Slideshow habe ich jetzt nicht so das Augenmerk gerichtet.

    Sind jetzt alle Probleme gelöst? Bei mir sieht es jetzt so aus:

    html-seminar.de/woltlab/attachment/1436/

    Ist das Browserfenster hoch, entsteht zwischen #middle und footer freier Raum.

    Den kannst Du vermeiden, indem Du die Höhe von #wrapper auf 100vh setzt.

    Außerdem empfehle ich, konsequent zu sein, wenn Du Flexlayout einsetzt und auf die absolute Positionierung des footer zu verzichten.

    Ist die Höhe des Fensters geringer, verschwindet unten der Text. Ich empfehle, diesen Container mit overflow-y:auto scrollbar zu machen.

    Hiermit schaltest Du die Fehleranzeige von PHP ein:

    PHP
    <?php
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    ?>

    Das funktioniert etwas anders als die Console des Browsers, denn die Anzeigen werden, ebenso wie Ausgaben durch echo, direkt auf der Seite ausgegeben. D. h. ruft man die Seite direkt im Browser auf, werden sie im Browserfenster angezeigt. Etwas komplizierter wird es, wenn das PHP-Skript durch Ajax aufgerufen wird. Dann stehen sie jedoch als Parameter im success-Callback zur Verfügung.

    Auch in dem Beispiel in Posting #8 hast Du es unnötig kompliziert gemacht, denn glob liefert bereits ein Array als Rückgabewert. Dieses kann mal problemlos über JSON an Javascript übergeben, so wie in meinem Beispiel. Sieh dir mal den Quelltext davon an.

    Ebenso wie mit console.log kannst Du mit echo oder var_dump Variablen und Hinweise etc. in die Ausgabe schreiben.

    Da hast Du es dir ja sehr schwer gemacht. Diese wenigen Zeilen schreiben die Bilder eines Verzeichnis in ein Javascript-Array:

    PHP
    <?php
    $images = glob("images/*.jpg");
    $imjson = json_encode($images);
    ?>
        <script>
            var images = <?php echo $imjson; ?>;
            console.log(images);
        </script>

    1. Dadurch, dass Du die Größe des Canvas mit CSS fest gelegt hast, wird es herauf skaliert, so dass die Maße, die Du beim Zeichnen des Rechtecks angegeben hast, nicht mehr stimmen. Das kannst Du vermeiden, indem Du die Größe des Canvas nicht über CSS definierst sondern über die Attribute.

    2. Tut man dies, hat man immer noch das Problem, dass die Mausposition, die durch evt.clientX und evt.clientY ermittelt wird, sich auf die linke obere Ecke des Anzeigefensters bezieht:

    https://wiki.selfhtml.org/wiki/JavaScript/DOM/Event/clientX

    Besonders deutlich wird das, wenn man den Rahmen ein wenig größer macht.

    BTW: Entstanden ist diese Lösung, weil anfangs eine kreisförmige Anzeige gefragt war. Ein einfacher Balken mit Text lässt sich jedoch viel einfacher mit HTML und CSS realisieren. Wenn Du für die Zukunft flexibler sein willst, könnte es sich lohnen, auf eine solche Lösung umzustellen.