Beiträge von Sempervivum

    Die Methode 1 funktioniert deshalb nicht, weil Du dich zwei Mal auf das load-Event beziehst. Wenn Du mit body.addEventListener('load', function(){den Listener registriert, hat dieses Event schon gefeuert und feuert nicht wieder.

    Also entweder so:

    https://jsfiddle.net/Sempervivum/7xzavaLw/1/

    oder so:

    https://jsfiddle.net/Sempervivum/8p1g6kx9/5/

    Gleiches Problem im Fiddle: Lässt man Loadtype auf onLoad funktioniert es ebenfalls nicht.

    Wenn man die Seite ohne Webserver lädt, funktioniert der Einzug nicht, wenn man das Protokoll weg lässt.

    Versuche dies:

    1. Das Javascript aus Posting #17 ist auf das HTML aus Posting #15 zugeschnitten.

    2. Da die JS- und CSS-Datei von einem CDN geladen wird, benötigt man eine Internetverbindung. Ist das nicht gewünscht, muss man sie herunter laden und selber hosten.

    Beide Varianten haben bei mir funktioniert. Wenn sie es bei dir nicht tun, dass poste mal den Code oder die URL der Seite.

    Scrollbar ist bei mir auch nicht. Die Seite ist responsiv und passt sich an die Fensterbreite an. Und die Seite frisst wirklich sehr viel Rechenzeit: CPU-Auslastung wenn sie offen ist über 60%, ohne um 5%.

    Animationen brauchen im allg. viel Rechenzeit und die Uhr bewegt sich ja ständig. Deaktiviere doch die Ani. mal probeweise, dann siehst Du, ob es daran liegt.

    Zitat

    Wie reagiert die Bibiliothek wenn man nicht wie hier 9 Bilder sondern zb 150 Bilder hat?

    Da erwarte ich keine Probleme. Die Elemente der Lightbox sind ja nur einmal vorhanden und werden nicht für jedes Bild extra angelegt.

    Habe aber selber keine Erfahrung mit Fancybox weil ich selber iLightbox benutze.

    Zitat

    Schade das die Fancybox kein weiter button hat um die Bilder zu Blättern ,damit man nicht immer auf und zu machen muß um alle Bilder zu sehen.

    Das geht selbstverständlich auch, indem man für data-fancybox einen Namen definiert:

    Code
            $("figure img").each(function(idx, item) {
                var url = $(this).attr("src");
                var caption = $(this).next("figcaption").text();
                $(this).wrap('<a></a>');
                var atag = $(this).parent();
                var caption = atag.next("figcaption").text();
                atag.attr({href: url, "data-fancybox": "gallery", "data-caption": caption});
            })

    Versuch mal mit der Maus horizontal zu wischen oder auf dem Handy mit dem Finger ...

    PS: Bastis Galerie ist vom HTML her ja schon sehr gut. Ich habe mal das CSS auf Flex umgestellt, damit sie responsiv wird und Fancybox3 hinzu gefügt:

    Zitat

    Ist damit eine Bildbox, wie von basti1012 realisiert, machbar? 3 Thumbnails in Reihe, n Reihen . Bei Klick großes Foto?

    Wovon ich spreche, ist eine Lightbox. Davon gibt es diverse, ich empfehle Fancybox. Diese erledigt das Aufpoppen des Fensters mit dem großen Bild. Der Aufbau der Galerie mit Zeilen und Spalten ist nicht Bestandteil davon, diese kannst Du lassen, wie sie jetzt sind.

    1. Wenn ich es richtig sehe, sind lengthMenu und pageLength keine Elemente des language-Objektes sondern direkte Optionen von datatables.

    2. Damit man url nutzen kann, muss man die Datei auf dem eigenen Server bereit stellen. Einfacher als das ist es wahrscheinlich, das language-Objekt direkt in den Optionen anzugeben, es sind ja nicht so viele Elemente. Hat man viele Tabellen mit datatables kann es jedoch angebracht sein, sie zentral einer Datei zu halten und mit URL zu laden.

    Dies funktioniert bei mir:

    Da gibt es doch fertige Plugins wie Fancybox, die so etwas wie Bildbeschreibung von Haus aus unterstützen. Mir unbegreiflich, dass man davon keinen Gebrauch macht, sondern immer wieder von neuem das Rad neu erfindet.

    Eine Idee habe ich auch: Eine Sessionvariable führen mit dem Status. Dieser kann zwei Zustände haben:

    1. Vokabel anbieten

    2. Eingabe des Benutzers prüfen

    Zufallswert ermitteln machst Du dann nur bei 1, damit ist das ursprünglich Problem gelöst, dass bei der Prüfung der Zufallswert erneut ermittelt wird.