Jan. 24

Javascript Bildergalerie mit Slideshow Effekt

Tag: Javascript,mootoolsTobi @ 10:33 pm

Dieser Beitrag richtet sich an alle, die ihre Webseiten mit einer eleganten, animierten Bildergalerie aufpeppen möchten.

Die Web2.0 Bildergalerie „slideshow“ von pathfusion bietet dafür einen nützlichen Funktionsumfang. Sie ermöglicht es, die Einzelbilder mit Effekten wie fade (überblenden), wipe (verschieben) und slide (überdecken) zu wechseln.

Die Integration und Konfiguration des Scripts ist sehr einfach.

Zuerst müssen die benötigten Javascript-Dateien im Header eingebunden werden.

<link rel="stylesheet" type="text/css" href="slideshow.css" media="screen" />
<script type="text/javascript" src="mootools.js"></script>
<script type="text/javascript" src="backgroundslider.js"></script>
<script type="text/javascript" src="slideshow.js"></script>

Konfiguriert wird das Script wie folgt:

var obj = {
	wait: 3000, /*Wartezeit bis zum Bildwechsel*/
	effect: 'fade', /*Effekt*/
	duration: 1000,
	loop: true, /*als Endlosschleife abspielen (ja / nein)*/
	thumbnails: true, /*Vorschaubilder nutzen (ja / nein)*/
	backgroundSlider: true, /*die bachgrundslider-Klasse für Vorschaubilder nutzen (ja / nein)*/
	onClick: function(i){alert(i)} /*Funktionsaufruf, wenn ein Bild angeklickt wird*/
}
/*ein neues Objekt der SlideShow-Klasse erstellen*/
show = new SlideShow('slideshowContainer','slideshowThumbnail',obj);

Den restlichen, zugehörigen HTML Code entnehmt ihr der slideshow Projektseite.

Die Galerie benötigt das Javascript Framework mootools und ist mit Firefox 2, IE 6, IE 7 und Safari kompatibel.

Ich habe eine Demoseite erstellt, auf der ihr euch den gesamten Funktionsumfang anschauen und testen könnte. Über die Formularelemente auf der rechen Seite können die Parameter der Galerie variiert werden.

Auf das Bild Klicken, um zur Demoseite zu gelangen:

Javascript slideshow

106 Antworten zu “Javascript Bildergalerie mit Slideshow Effekt”

  1. Tobi sagt:

    Hallo Hans,
    du meinst der User soll durch Anklicken auswählen, welches Archive er als Slideshow ansehen möchte und dann werden diese 8 Bilder abgespielt? Oder wie stellst du dir das vor?

  2. Hans sagt:

    ich hab beispielsweise seite X mit 24 Bildern dazu
    ich möchte aber lediglich 8 bilder unter dem „großen“ Bild angezeigt haben und dann via „weiter“ oder [1] [2] [3] zu den anderen Bilder gelangen. Es sollen also immer 8 Bilder unter dem großen Bild angezeigt werden. Beim klick auf [2] sieht man dann die nächsten 8 Bilder. bei [3] die nächsten 8, usw.

  3. Michi sagt:

    hey Leute,
    ist es möglich das script 2 mal auf einer seite einzubinden?
    Möchte 2 Gallerien untereinander laufen lassen.
    Michi

  4. Patrick sagt:

    ja, das sollte möglich sein. man müsste nur zwei container, 2 bildergalerien und 2 aufrufe machen. die id’s und class-Namen müssen nur unterschiedlich sein. Aurufe entsprechend anpassen!

  5. Michi sagt:

    Ich bekomme das nicht hin.. was/wo genau muss ich alles ändern?

  6. Hans sagt:

    Hat jemand noch einen Tip für mich?

  7. Bernd M. Walter sagt:

    Vielen Dank für dieses wertvolle Script.
    Zur Info für alle, die die Thumbnails nicht benötigen:
    im Script slideshow.js in der Funktion initialize (Zeile 60) „imageList.push(el.src);“ durch „imageList.push(el.href);“ ersetzen. Dann funktioniert auch die Darstellung ohne die Thumbs.

  8. Bettina sagt:

    scheinbar bin ich auch zu blöd. Bei mir funktioniert das ganze offline auch super und wenn ich das Ganze auf den Server lade nicht mehr. Habe ich hier was überlesen, aber ich habe hier keine Antwort darauf gefunden.

    die Bildnamen habe ich übrigens schon umbenannt, aber es tut sich nichts, die Slideshow startet nicht.

    hier ist übrigens der Link: http://www.schrobenhauser.de/neu/html/referenzen.html

  9. Bettina sagt:

    habe es jetzt auf nem anderen Server getestet, da geht’s.

  10. Ich Du Er Sie Es sagt:

    Hallo Ich suche einen ganz normale Bildlaufleiste als Slideshow Gallerie für eine Html Seite. Doch niemand gibt mir den Code freiwillig bzw. ohne Hintergedanken. (.z.b. Werbeeinblendungen).
    Die Bilder möchte ich gerne extern in einen Ordner verwalten.
    Von Vorteil wäre es auch wenn die Laufleiste sich von links nach rechts bewegen würde.

    Vielen Dank

    Ein Nurter

  11. mareeduree sagt:

    ist superklasse die slideshow!!! 1000Dank dafür! Klappt alles perfekt.
    Gibt es eine Möglichkeit es auch für den IE8 lauffähig zu machen? das geht ja leider nicht.
    Wäre sehr sehr dankbar für etwaige Hilfe.

  12. martin sagt:

    warum es online nicht geht? weil das script backgroundSlider.js heisst und hier im tutorial als backgroundslider.js mit einem kleinen „s“ eingebunden ist. Bin auch fast verzweifelt und schon mit sachen um mich geworfen.

  13. florian sagt:

    das script an sich ist super.
    ist es möglich den titel der img-datei auszulesen und durch ein div an einen bestimmten ort wiederzugeben?

  14. Flori sagt:

    Hi,
    weiß jemand wie ich die Slideshow abstellen kann? Also ich möchte quasi nur durch das anklicken der Thumbs die Bilder wechseln. Ist sowas möglich?
    Wäre sehr dankbar für ein bisschen Hilfe!!!

  15. Annette sagt:

    Ich habe zwei Bildergalerien auf meiner Website. Die Bildunterschrift und der Text müssen aber im Bild integriert sein.
    Das ist sehr umständlich, zumal Photoshhop die dazugeladene Schrift nicht verwendet. Also arbeite ich mit Photoshop und Corel, usw.
    Also ziemlich umständlich.
    Schön wäre es, in der Bildergalerie die Bildunterschriften und Texte extra anzubringen.
    Wie kann ich das machen?
    Ich wäre sehr glücklich, wenn ich einen Tipp bekäme.

  16. Tobi sagt:

    @Annette
    Diese Funktionalität gibt es leider nicht. Das müsste in der Slideshow ergänzt werden.
    Du kannst uns dafür gern mal eine Anfrage senden, über dieses Formular: http://www.ajaxschmiede.de/programmierung/

  17. niffi sagt:

    @Bernd M. Walter : Vielen Dank für Deinen Tipp mit der Codeänderung damit es ohne Thumbnails klappt!

  18. Alex sagt:

    Hallo liebes Ajaxschmiede-Team!

    Ich habe die Slideshow dank eurer Tipps erfolgreich integriert, habe aber ein Problem: Da ich die Thumbs untereinander und nicht nebeneinander anzeigen lasse, wird das aktuelle Bild immer neben den anderen und nicht an seinem Platz angezeigt (s. Screenshot: http://tinyurl.com/ycspr4f). Was muss ich ändern, damit das Bild auch in der Reihe und nicht daneben angezeigt wird?

    Vielen Dank und Grüße,
    Alex

  19. Dennis sagt:

    Leute wenn ihr die Thumbnails ausgeblendet haben wollt, versucht es einfach mit:

    #thumbnails { display: none; }

    Hoffe konnte euch damit helfen, bei mir klappt es einwandfrei in jedem Browser ab IE6.

  20. Kat sagt:

    Hallo Ajaxschmiede-Team!

    Gibt es schon Neuigkeiten was die Lauffähigkeit im IE 8 betrifft?

  21. Jan sagt:

    Hallo,
    wie kriegt man es realisiert, dass die Slideshow die Thumbs nicht nacheinander ansteuert, sondern nach dem Zufallsprinzip (random)?
    Hoffe, es kann mir jemand einen Tip geben.

  22. Jan sagt:

    Keiner???

  23. Bilder sollen automatisch wechseln. sagt:

    […] […]

  24. Heike sagt:

    Hi,
    ich habe versucht zwei Galerien auf einer Seite laufen zu lassen (Fotos-Text-wieder Fotos). Dabei bin ich nach Post 54 vorgegangen, leider ohne Erfolg.
    Könnt Ihr mir vielleicht mal auf die Sprünge helfen, was ich falsch gemacht habe?
    Es erscheinen die Bilder nur in dem ersten Galeriefenster, der farbige Marker aber, wechselt runter zum zweiten Block und zeigt die Bilder von dort aber nur oben in dem ersten Galeriefenster.
    Was mache ich noch falsch?
    LG
    Heike

  25. Jens Rothenburg sagt:

    Ich habe auf meiner Site ein „Pic of the day“, das fuer jeden Wochentag ein anderes Foto anzeigt. Da mir dies mittlerweile zu langweilig geworden ist, moechte ich an der Stelle eine Slideshow laufen lassen. Beim Forschen nach den Moeglichkeiten bin ich auf Eure Seite gestossen. Erst mal Glueckwunsch fuer diesen Auftritt mit jeder Menge Code und Tipps.
    Die Diashow soll allerdings ohne die Thumnails darunter erscheinen. Einfach nur ein Fotorahmen. Wie kriege ich das hin. In den html.- und js.-Dateien habe ich ein wenig rumgespielt, jedoch keine Moeglichkeit gefunden ausschliesslich das grosse Bild mit Ueberblendeffekt darzustellen. Wie kriege ich die Vorschaubilder weg?

    Beste Gruesse, Jens

  26. hili sagt:

    Hallo ich bin heute zum Glück auf dieses Skript bzw. die Möglichkeit gestoßen,
    eine Slide Show umsetzen zu können. Noch funktioniert nicht alles, aber vielleicht kann
    mir jemand helfen.
    Ich nutze:
    – Mootools 1.2.4 uncompressed
    – phatfusion: slideshow backgrounslider.js V1.1
    – slideshow.js 1.3
    – slideshow.css 1.3

    Die Dateien habe ich in mein Verzeichnis kopiert und html folgend eingestellt:

    window.addEvent(‚domready‘,function(){
    var obj = {
    wait: 3000, /*Wartezeit bis zum Bildwechsel*/
    effect: ‚fade‘, /*Effekt*/
    duration: 1000,
    loop: true, /*als Endlosschleife abspielen (ja / nein)*/
    thumbnails: true, /*Vorschaubilder nutzen (ja / nein)*/
    backgroundSlider: true, /*die bachgrundslider-Klasse für Vorschaubilder nutzen (ja / nein)*/
    onClick: function(i){alert(i)} /*Funktionsaufruf, wenn ein Bild angeklickt wird*/
    }
    /*ein neues Objekt der SlideShow-Klasse erstellen*/
    show = new SlideShow(’slideshowContainer‘,’slideshowThumbnail‘,obj);

    });

    Jetzt erhalte ich die Fehlermeldung:
    Fehler Zeile 142 slideshow.js Asset ist undefiniert.

    Würde das Skript gerne zum Laufen bekommen, da schöne Sache.

    Danke für Hilfe Grüsse Hili

  27. Jan sagt:

    hi, was muss ich tun, damit die slideshow nicht direkt losläuft sondern erst durch den play button ausgelöst wird?
    danke, jan

  28. Dirk sagt:

    Guten Abend.

    Ich habe die Sliedeshow am Laufen und finde sie ist super! Ich habe nur eine Frage. Wie kann man den Sliedeshowcontainer so einstellen das er sich Autoatisch an das Seitenverhältniss des Bildes anpasst. Ich habe Hochformate und Querformate in meinen Ordner.

  29. martina sagt:

    hi,
    in der beschreibung steht, dass die slideshow nur bis IE7 kompatibel ist. jetzt gibts aber ja auch den 8er und da läuft sie leider nicht ? es gibt wohl ein problem im backgroundSlider.js.
    kann man das beheben und wenn ja wie ?
    danke. martina

  30. Matthias sagt:

    Ich möchte die Slideshow gerne ohne Thumbnails (oder auch ohne Link-Texte) unterhalb des großen Bildes verwenden. Wenn ich den entsprechenden Parameter ( thumbnails: true, /*Vorschaubilder nutzen (ja / nein)*/ )allerdings auf “false” setze, werden überhaupt keine Bilder mehr angezeigt.

    Hat jemand eine Lösung?

  31. Thomas sagt:

    Hat hier jemand eine Lösung für Motools 1.2?
    Wäre genial!
    Vielen Dank!

  32. Sandy sagt:

    Hallo,

    ich hab auch das Problem, dass es online nicht läuft..

    backgroundSlider wurde geändert..
    die verweisungen stimmen soweit, außer der main.css, aber das ändert auch nichts ..

    Der Container, wo das Bild gr0ß angezeigt werden sollte, bleibt einfach leer? 🙁

    Danke schonmal für eure Tipps..

  33. Chriss sagt:

    Hi, mal ne frage, wie in deiner vorschau hab ich das problem das wenn man auf das bild klickt ein fenster mit einer zahl aufgeht…. das hat irgendwie was mit dem link zu tun…

    hast du eine ahnung woran das liegt?

  34. Christian sagt:

    Die Galerie ist wirklich tol und einfach einzubinden!
    Meine Frage: Gibt es auch ne Möglichkeit die Bilder im div „slideshowContainer“ auf 100% Breite anzuzeigen lassen? Also quasi das img tag width auf 100% zu setzen? Ich benötige dies damit ich die Images auf die ganze Sichtbreite vergrössern kann. Also ne Bildergalerie mit den Bildern im Hintergrund so gross wie das Fenster… Wäre super dankbar! nette grüsse!!!

  35. Sascha sagt:

    Hallo, supi script. Lob und Anerkennung für dein Beispiel und die deutsche Erklärung.
    Aber ich bin wohl zu blöd, ich möchte das ganze etwas breiter (klappt auch), und nicht nur 4 thumbs nebeneinander sondern 6 oder mehr. wo kann ich das festlegen. muss ich das irgendwo im javascript ändern. in der css geht das wohl nicht. hab schon display:inline und so versucht. geht nicht. FRUST !!! bitte um schnelle Hilfe falls es geht.

  36. ChristianS sagt:

    Hi

    @Chriss (beitrag 83) bei der initialisierung steht “ onClick: function(i){alert(i)} /*Funktionsaufruf, wenn ein Bild angeklickt wird*/“
    wenn du onclick: false; machst sollte es gehen.

    Ich hab selbst eine frage und hoffe mir kann hier jemand helfen. Ich würde gerne den Backgroundslider alleine ohne die slideshow nutzen. also nur für die Thumbnail´s (hab einen video Bereich und würde den effekt auch gerne dort haben. Hat das schon mal jemand gemacht?

    Ich kommt mit der übergabe der Parameter nicht klar. das erstellen der ImageList wird in der slideshow.js gemacht, ich müsste das ja jetzt dort rausnehmen aber wie? „bgSlider = new BackgroundSlider(elements, options)“ ist mein aufruf aber wie übergebe ich ihm die image list für den parameter elements…. kann mir da einer helfen?

  37. JensT sagt:

    Hallo erst einmal,
    ich bekomme sie auch nicht zum laufen, finde sie aber voll klasse.
    Es tauchen immer die gleichen Fehler meldungen auf
    Fehler: Class is not defined
    Quelldatei: http://labor.omis-tips.de/js/backgroundslider.js
    Zeile: 3
    und diese hier:
    Fehler: syntax error
    Quelldatei: http://labor.omis-tips.de/js/slideshow.js
    Zeile: 61, Spalte: 28
    Quelltext:
    imageList.push(el.href);));

    Kann mir dabei jemand helfen, ist nur mein Labor um zu experimentieren, soll aber mal auf meine richtige seite stehen.

  38. Tati sagt:

    Hallo,

    Ich finde diese Galerie ganz toll und würde sie gern verwenden, allerdings ohne die Thumbnails. Wenn ich aber diese auf false setze, werden die Bilder gar nicht angezeigt. Sprich es findet gar keine Slideshow statt. Was kann man da tun? Kann mir da jemand helfen. Wäre für Hilfe dankbar.

  39. Thomas sagt:

    BILDER ZENTRIEREN:

    An Alle, die sowohl quer- als auch Hochformatfotos zentrieren möchten:

    Ihr müsst einfach in der slideshow.css in dem div „slideshow.container“ folgendes ändern:

    .slideshowContainer {
    border: 1px solid #ccc;
    width: 550px;
    height: 400px;
    margin-bottom: 5px;

    text-align:center;

    }

    viele grüße

    thomas

  40. Kerstin sagt:

    Moin zusammen,

    sehr schicke Slideshow. Eigentlich wollte ich nicht schreiben, aber da jeder dritte hier das „lokal geht’s und online geht’s nicht“-Problem hat. Bei mir erst das Gleiche.

    Man muss zwei Änderungen vornehmen:

    1) backgroundSlider.js umbenennen in backgroundslider.js
    2) Dateien der Bilder ändern. Die sind im Quellcode komplett klein geschrieben.

    🙂

    Grüße aus HH
    Kerstin

    P.S. Diese Infos stehen schon verteilt in den Kommentaren, aber trotzdem wurde ständig gefragt. Deshalb hier zusammengefasst.

  41. Lars sagt:

    hi,

    gibt es eine Möglichkeit, die backgroundslider.js & slideshow.js Dateien so anzupassen, dass die slideshow auch unter joomla1.6 funktioniert. also mit mootools 1.2
    z.B. Fx.Styles gibts ja nicht mehr.
    thx

  42. Lukas sagt:

    Hey, könntet Ihr die nötigen Dateien zum Download bereitstellen ?
    Wäre super, da die Herstellerseite down ist…
    Danke,
    Lukas

  43. michi sagt:

    Hallo,
    bei mir funktz die slideshow nicht und ich hab alles versucht. Könntest du mir helfen!
    Danke im Voraus

  44. michi sagt:

    backgroundslider funktioniert bei mir nicht… Bitte dringend um Hilfe!!!

  45. Bettina sagt:

    Sag an, wie sieht das aus mit den Lizenzen? Kann ich die Slideshow auch für meine Kunden benutzen?
    Danke im Voraus!

  46. Klaus Jansen sagt:

    Ich habe diesen Beitrag gerade gebookmarkt. Besten Dank für die Infos.

  47. Hasi sagt:

    Hi!
    Die Slideshow ist super. Einfach eingebaut und echt schick.

    Nur wenn man auf das große Bild klickt, kommt ein alert.
    Das ist nicht so schön. Ich würde gerne, dass dann eine lightbox aufgeht und sich das Bild in dieser öffnet. So wie hier: http://leandrovieira.com/projects/jquery/lightbox/

    Jemand eine Idee?

  48. Nicolas sagt:

    Hallo zusammen!

    Zuerst ein grosses Kompliment. Super Slideshow!

    Ich würde jetzt aber gerne den slideshowContainer (das grosse Bild) verlinken. Meine Javascriptkenntnisse sind dafür aber zu schlecht =).

    Kann mir da jemand weiterhelfen?

    Vielen Dank!

  49. Matha Saldibar sagt:

    Es gibt ja auch noch Seiten mit gutem Content 🙂 Danke für den Artikel .

  50. Milo sagt:

    Ich kriegs nicht hin
    kann einer den Code für die HTML-Seite posten.

Hinterlasse einen Kommentar

You must be logged in to post a comment.