en

designoir

Galerie

„Galerie“ ist ein leichtgewichtiges und flexibles Skript zum Präsentieren von Bildern. Wie das genau funktioniert, sieht man sich am besten live an:

Features

Einrichten

  1. „Galerie“ benötigt whenDOMReady und addEvent. Sie sind wie das Hauptscript unter der LGPL freigegeben und im Downloadpaket enthalten. Die .js-Dateien sind in das gewünschte Dokument einzubinden:

    <script type="text/javascript" src="addEvent.js"></script>
    <script type="text/javascript" src="Galerie.js"></script>
  2. Weiterhin muss ein Theme hinzugefügt werden. Die jeweils enthaltene Galerie.css muss entweder einzeln eingebunden oder einem anderen Stylesheet hinzugefügt werden.

    Im einfachsten Fall liegen das Dokument und alle zum Theme gehörigen Dateien im gleichen Verzeichnis. Andernfalls muss auf korrekte Pfadangaben in der Galerie.css geachtet werden. Vor allem müssen cursor:url(...) und filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='... relativ zum Dokument oder absolute Pfade sein.

  3. Der Rest verläuft nach Wunsch automatisch. Wenn es ein Element mit id="Galerie" gibt, wird dieses vom Skript nach Bilderlinks durchsucht. Um für ein Bild einen Titel anzuzeigen, muss dieser im title-Attribut des Links stehen:

    <p id="Galerie">
    	<a href="1.png">1</a>, <a href="2.jpg">2</a>, <a href="3.gif" title="toll!">3</a>, ...
    </p>

    Um alle verlinkten Bilder auf einer Seite einer Galerie hinzuzufügen, reicht es, <body> das genannte id-Attribut zu geben. Alternativ kann man Galerie manuell instanziieren; entweder für das gesamte Dokument:

    <script type="text/javascript">
    whenDOMReady (function() {
    	new Galerie (document)
    })
    </script>

    … oder für ausgewählte Elemente:

    <script type="text/javascript">
    whenDOMReady (function() {
    	new Galerie (document.getElementById('urlaubsfotos'));
    	new Galerie (document.getElementById('wm2006'));
    })
    </script>

    Jede Instanz stellt eine unabhängige Galerie dar. Um zum Beispiel in einem WordPress-Blog pro Eintrag eine Galerie zu erstellen, kann man auf getElementsByClassName zurückgreifen:

    <script type="text/javascript" src="getElementsByClassName.js"></script>
    <script type="text/javascript">
    whenDOMReady (function() {
    	var posts = getElementsByClassName(document, 'div', 'post');
    	for (var post, i = 0; post = posts[i]; i++)
    		new Galerie (post);
    })
    </script>

Beispiel #1

single.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
	<title>Galerie</title>
	<script type="text/javascript" src="addEvent.js"></script>
	<script type="text/javascript" src="Galerie.js"></script>
	<link rel="stylesheet" media="screen,projection" type="text/css" href="Galerie.css"/>
	<style type="text/css"> body { background: blue } a { color: white } </style>
</head>
<body id="Galerie">
	<a href="http://www.spiegel.de/static/sys/logo_120x61.gif">1</a>
	<a href="http://www.google.com/images/logo_sm.gif">2</a>
	<a href="http://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png">3</a>
</body>
</html>

Beispiel #2

multiple.html

Themes

Die Themes sind ein integraler Bestandteil von „Galerie“. Da die gesamte Gestaltung einer CSS-Datei überlassen wird, kann das Erscheinungsbild weitgehend angepasst werden, ohne das eigentliche Skript anzurühren. Wer ein eigenes Theme erstellt hat, kann mir dieses gerne schicken (dao at design-noir.de). Ich werde es der Liste hinzufügen.

Paket Größe Vorschau Autor
black-bars_1.8.14.tar.gz 2,78 KB thumbnail Dao G.
ie7_1.8.14.tar.gz 10,76 KB thumbnail Dao G.
lighter_1.8.14.tar.gz 954 Bytes thumbnail Dao G.
medieval_1.8.14.tar.gz 4,75 KB thumbnail Erik-B. Ernst,
C. M. Werner
nuvola_1.8.14.tar.gz 9,44 KB thumbnail Dao G.
plastique_1.8.14.tar.gz 7,03 KB thumbnail Dao G.
plastique-ontop_1.8.14.tar.gz 6,97 KB thumbnail Dao G.
tango-ontop_1.8.14.tar.gz 6,78 KB thumbnail Dao G.
textual-bars_1.8.14.tar.gz 2,08 KB thumbnail Dao G.

Bekannte Probleme

  1. Themes funktionieren teilweise nicht im Quirksmodus. (Das Skript an sich ist Quirksmodus-kompatibel – wer möchte, kann also gerne ein entsprechendes Theme erstellen.)
  2. mögliche Darstellungsprobleme mit body { position: absolute } (Galerie setzt position auf static, um noch schwerwiegenderen Problemen aus dem Weg zu gehen, und macht dies beim Schließen wieder rückgängig.)
  3. [Konqueror] Navigationsbuttons nach erneutem Öffnen einer Galerie nicht mehr anklickbar kein Problem mehr mit Konqueror 3.5.5
  4. [Konqueror] Bilder werden verzerrt / nicht proportional verkleinert kein Problem mehr mit Konqueror 3.5.5
  5. [Safari] ungetestet – Konqueror-ähnliche Probleme sind zu erwarten erfolgreich getestet mit Safari 3

Problem melden (dao at design-noir.de).

Versionen

05.06.2007: 1.8.16
Update auf whenDOMReady 1.2
31.05.2007: 1.8.15
Codepflege
11.02.2007: 1.8.14
das erste Bild ist nun vom letzten aus gesehen das nächste, und umgedreht
19.12.2006: 1.8.13
für jede Richtung können mehrere Bilder vorgeladen werden (standardmäßig die zwei nächsten und das vorherige)
17.12.2006: 1.8.12
urlOpt abgespeckt
Update auf whenDOMReady 1.1
02.12.2006: 1.8.11
Anker-Zeug entfernt, da es eher störend als nützlich war
Navigations-Entitäten korrigiert
29.11.2006: 1.8.10
DOMContentLoaded-Event für IE emuliert
Update auf addEvent 1.1.6
19.11.2006: 1.8.9
nutzt appendChild(document.createTextNode()) und firstChild.nodeValue statt innerHTML
Update auf addEvent 1.1.5
27.10.2006: 1.8.8
Slideshow deaktiviert, wenn es nur ein Bild gibt
Instantiierung ohne Bilder erlaubt
Function.prototype.bind verbessert
07.10.2006: 1.8.7
$A heißt jetzt Array.from
Themes nutzen das IE7-spezifische -ms-interpolation-mode: bicubic;
10.09.2006: 1.8.6
kleinere Korrekturen
Update auf addEvent 1.1.4
27.08.2006: 1.8.5
verschiedene IE6-Probleme behoben
26.08.2006: 1.8.4
Slideshow überarbeitet, GUI und Themes aktualisiert
23.08.2006: 1.8.3
neues Feature: Slideshow
02.08.2006: 1.8.2
Quirksmodus-Korrektur
01.08.2006: 1.8.1
Codepflege
Update auf addEvent 1.1.3
30.07.2006: 1.8
API komplett überarbeitet
Themes aktualisiert
30.07.2006: 1.7.5
verbessertes Verhalten auf vertikal gescrollten Seiten
Update auf addEvent 1.1.2
27.07.2006: 1.7.4
title-Attribut für Navigationsbuttons eingeführt (und lokalisiert)
weitere Workarounds für KHTML / Webkit
Update auf addEvent 1.1.1 (schließt Speicherleck im IE)
27.07.2006: 1.7.3
DOMContentLoaded-Event wird für Gecko-basierte Browser und Opera 9 genutzt, um die Galerie eher initialisieren zu können
Probleme mit Konqueror behoben
Update auf addEvent 1.1
25.07.2006: 1.7.2
mehrere Galerien auf einer Seite dürfen dasselbe Bild enthalten (Anker gelten dank eindeutiger Präfixe nur noch für eine Instanz)
kritischer Fehler bei mehreren Galerie-Instanzen behoben (cache-Objekt muss im Konstruktor initialisiert werden, nicht im Prototyp-Objekt)
obsolete Eigenschaften defaultImgWidth und defaultImgHeight entfernt
24.07.2006: 1.7
erste öffentliche Version

Kommentare

  1. Peter meinte am 4. März ’07, 22:44 Uhr ():
    Wie bitte öffnet man die GZ Archive? verzeit die dumme frage x_X
  2. Dao meinte am 4. März ’07, 23:37 Uhr ():
  3. Peter meinte am 5. März ’07, 15:50 Uhr ():
    Hm, also ich hab jetzt mehrere Programme versucht die auch alle angeblich GZ öffnen konnten, winrar, filzip, 7-zip und noch 2 weitere deren Name ich jetzt vergessen habe^^. Hab das Archiv auch nochmal runtergeladen, hat net gefunzt…
    danke schonmal
  4. Ebukadneza meinte am 5. März ’07, 16:59 Uhr ():
    Hi Dao! ich habe deine Galerie ja in Gebrauch, mit der Version „plastique-ontop_1.8.7.tar.gz“ . Diese kann ich auch herrlich entpacken mit Winrar und 7zip. Jetzt habe ich die neue mal ausprobiert und muss sagen, dass ich die Dateien auch nicht entpacken kann. Liegt der Fehler vllt. doch an den Dateien? Viele Grüße, Ebukadneza
  5. Dao meinte am 11. März ’07, 18:24 Uhr ():
    Der Fehler lag bei der Zeichenkodierung meiner Seite. Sollte jetzt funktionieren.
  6. Ebukadneza meinte am 11. März ’07, 21:26 Uhr ():
    Okay, dachte ich mir schon, nachdem man die alten Versionen auf deinem Server auch nicht mehr öffnen konnte. Danke schon mal! Die neue Version funzt bei mir einiges besser als die alte :-D Finde es echt nett, dass du das alles umsonst bereitstellst! Ist die Beste Galerie, die ich kenne!
    Viele Grüße, Ebukadneza
  7. daZ meinte am 26. Mai ’07, 16:10 Uhr ():
    juhuuu vielen dank, das ist genau was ich ewigkeiten gesucht habe :D und sogar schon mit mehreren designs… wow.
    überhaupt sind die scripts klasse, kann sicher noch einiges event bezogenes brauchen.
    grüsse daZ
  8. Bill Brown meinte am 1. August ’07, 17:18 Uhr ():
    Hi Dao,

    Great site and great code. Keep up the great work! We appreciate it.
  9. Benny meinte am 11. Juni ’08, 12:36 Uhr ():
    Hi habe da ein Problem mit meinem Frameset.

    Habe 3 Frames
    Head
    Navi
    Main

    im Main ist die Seite Galerie eingebunden auf der ich die Bilder verlinken wollte.
    hab alles so gemacht wie beschreiben aber ich bekomms´einfach nicht hin.

    kann das am frameset liegen??

    Danke und Gruß
  10. Dao meinte am 11. Juni ’08, 14:30 Uhr ():
    Hi habe da ein Problem mit meinem Frameset.

    Habe 3 Frames
    Head
    Navi
    Main

    im Main ist die Seite Galerie eingebunden auf der ich die Bilder verlinken wollte.
    hab alles so gemacht wie beschreiben aber ich bekomms´einfach nicht hin.

    kann das am frameset liegen??
    Wenn das Skript auf der Galerie-Seite in Main eingebunden ist, sollten es keine Probleme geben.
  11. Benny meinte am 11. Juni ’08, 15:10 Uhr ():
    Seite ist online auf www.x2x-online.de/club mit frames/index.htm

    Bei der Treffengalerie hab ich den Quelltext aus einer beispielseite von ganz oben kopiert und hab die dateien der .gz datei auch alle eingefügt aber bei mir geht des einfach nicht. ich zweifel schon langsam an meiner kompetenz.
  12. Thomas meinte am 26. August ’08, 23:09 Uhr ():
    Hallo Dazio,
    ich find dein Skript auch klasse, nur leider fällt mir im IE (wo sonst) ein Fehler auf:

    Wenn ich bereits ein wenig nach unten gescrollt habe, dann ist die Ansicht nach unten verschoebn …als wenn er den Anfang der Scrollleiste als Bidschirmanfang nimmt…
  13. Julian meinte am 5. Oktober ’08, 16:51 Uhr ():
    Hallo ich finde das mit den mehreren designs auch gut doch leider bin ich in diesem bereich noch ein relativer anfänger und bekomme die galerie nicht eigebunden.
    ich habe mir das theme ola_1.8.14.tar.gz gewählt und alles in einen ordner gepackt…
    hier mal der quellcode:


    <div id=„Galerie“>
    <ul class=„dateien“>
    <li id=„t1“> <a href=„images/image1.jpg“ title=„“> <img src=„images/image1.jpg“ alt=„Foto 1“></a>

    <li id=„t2“> <a href=„images/image2.jpg“ title=„“> <img src=„images/image2.jpg“ alt=„Foto 2“></a>

    <li id=„t3“> <a href=„images/image3.jpg“ title=„“> <img src=„images/image3.jpg“ alt=„Foto 3“></a>

    <li id=„t4“> <a href=„images/image4.jpg“ title=„“> <img src=„images/image4.jpg“ alt=„Foto 4“></a>

    <li id=„t6“> <a href=„images/image5.jpg“ title=„“> <img src=„images/image5.jpg“ alt=„Foto 5“></a>

    <li id=„t7“> <a href=„images/image6.jpg“ title=„“> <img src=„images/image6.jpg“ alt=„Foto 6“></a>
    </ul>
    </div>


    danke schonmal ;-)
  14. Philipp meinte am 29. Oktober ’08, 16:20 Uhr ():
    hallo, vorweg mein kompliment für deine arbeit.
    ich würde gerne die gallerie automatisch beim laden der seite starten lassen. ist dies möglich, und wenn ja, wie?
  15. Joachim meinte am 7. Februar ’09, 19:21 Uhr ():
    Wie läuft die sprachlich unterschiedliche Navigation? Habe verschiedenes probiert, aber weder mit Attribut „lang“ noch mit Meta-Tags Erfolgt gehabt.

Kommentare sind geschlossen.

Geändert am 5. Juli ’09 Dão G., 2005–2010
aggressiv akt andromeda bar beine blue efeu frontal fugaetu industriell komet land noir rost rot sonnenblume splash split winter wolke zeit