Startseite Javascript Slideshow - Slideshow Beispiel 02
2010-08-01
Hauptmenü
externe Links
Meist gelesen
Support

Wenn Sie die Erweiterungen und Scripts auf diesen Seiten nützlich finden, freue ich mich über Ihre Unterstützung. Danke!

Betrag: 

JavaScript: Slideshow Beispiel02
Geschrieben von: Andreas Berger   
Sonntag, den 01. März 2009 um 12:30 Uhr

Im zweiten Beispiel nutzen wir die Möglichkeit, mit einer Scriptdatei verschiedene Slideshows zu bedienen. Die Annahme: Auf verschiedenen Seiten eines Internetauftritts soll jeweils 1 Slideshow dargestellt werden.

Die Bezeichnungen "be_slide.html" und "be_slide.js" entsprechen den Dateinamen in dem Beispiel, das im Download des Scripts hier Javascript: Slideshow enthalten ist. Die nachfolgenden Erklärungen beziehen sich auf die Dateien im Beispiel und erläutern nur die Einbindung in eine Webseite und die Konfiguration des heruntergeladenen Scripts be_slide.js.


be_slide.html - die Webseite

Der erste Schritt zur Verwendung ist auch diesmal die Einbindung des Scripts in die Webseite. Nur diesmal möchten wir das Script mit verschiedenen Slideshows ansprechen. Dazu müssen wir im HEAD-Bereich der Seite nicht nur das Script verlinken, sondern auch die jeweiligen Einstellungen für unsere Slideshow festlegen. Zuerst das Script:
<script type="text/javascript" src="be_slide.js"></script>

Das Beispiel geht davon aus, dass das Script im selben Verzeichnis liegt wie die Webseite.
Andernfalls ist der Pfad entsprechend anzupassen.

Und jetzt ergänzen wir diesen Eintrag um unsere Angaben und den eigentlichen Aufruf:

<script type="text/javascript" src="be_slide.js"></script>
<script type="text/javascript">
var pics1=new Array ('pics/pic01a.jpg', 'pics/pic01b.jpg', 'pics/pic01c.jpg');
var buttons1=new Array ('bwd.png', 'start.png', 'stop.png', 'fwd.png');
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1,20,"n","n","y",buttons1);
</script>
So, was haben wir gemacht:
<script type="text/javascript">
    //diese Zeile öffnet einen neuen SCRIPT-Tag
 
var pics1=new Array ('pics/pic01a.jpg', 'pics/pic01b.jpg', 'pics/pic01c.jpg');
    //In diesem Array werden die Bilder angelegt, die die Slideshow verwenden soll.
    //In diesem Beispiel liegen sie in einem Unterverzeichnis "pics".
 
var buttons1=new Array ('bwd.png', 'start.png', 'stop.png', 'fwd.png');
    //In diesem Array werden die Kontrollelemente festgelegt. Verwenden wir keine,
    //dann brauchen wir auch diesen Array nicht! Die Zeile ist also optional.
    //Bei den Kontrollelementen hat man die Wahl zwischen Textlinks und grafischen
    //Buttons. In diesem Array werden dementsprechend entweder der Text für die
    //Textlinks oder der Pfad zum Button eingetragen. Findet das Script die Endung
    //.jpg, .gif oder .png, dann wird der Button angezeigt, ansonsten ein Textlink
    //die Reihenfolge der Kontrollelemente und damit auch der Elemente in diesem 
    //Array ist: ZURÜCK - START - STOP - VOR
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1,20,"n","n","y",buttons1);
    //Diese Zeile schlussendlich ruft die Slideshow auf.
    //Wir werden sie uns gleich genauer ansehen.
 
</script>
    //Zuvor aber schließen wir mit der letzten Zeile den SCRIPT-Tag.
 
So und jetzt zerlegen wir die Zeile mit dem Aufruf der Slideshow:
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1,20,"n","n","y",buttons1);
 
var be_0
Die jeweilige Instanz der Slideshow wird als Variable mit dem Namen be_0 definiert. Der Name ist dabei festgelegt. Er ist bei 1 Slideshow immer be_0.
be_slideshow()
be_slideshow() ist der Name der Funktion, die die Slideshow darstellt und steuert. Innerhalb der runden Klammern können dieser Funktion bis zu 13 Parameter übergeben werden. Warum "bis zu"?
Ganz einfach, weil in der Datei be_slide.js für jeden Parameter ein DEFAULT-Wert festgelegt werden kann, auf den das Script zurückgreift, wenn er beim Aufruf nicht übergeben wurde.
Verwendet man innerhalb eines Internetauftritts zum Beispiel mehrere Slideshows, die immer gleich aussehen und sich nur durch die dargestellten Bilder unterscheiden, dann kann man in der Datei be_slide.js einmal alle Einstellungen treffen (was ich ohnehin empfehle) und auf den einzelnen Seiten dann zum Beispiel nur noch den Array mit den Bildern definieren (siehe oben) und die Slideshow aufrufen wie folgt:
var be_0= new be_slideshow("0",pics1);
Prinzipiell gilt: Man muss nicht alle Parameter im Aufruf übergeben, die Reihenfolge muss aber eingehalten werden. Möchte ich mit dem dritten Parameter von der Standardeinstellung abweichen, dann muss ich die Parameter 1 und 2 auch übergeben. Treffe ich erst im 13. Parameter eine Festlegung, die vom Standardwert abweicht - dann muss ich alle 13 Parameter angeben. Jetzt aber zu den einzelnen Parametern:
 
var be_0= new be_slideshow("0");
    //Der 1. Parameter ist die Nummer der Slideshow, beginnend mit "0"
    //Die Null entspricht der Null im Namen der Variable be_0
    //(Die Frage warum die Slideshow eine Nummer braucht klären wir im 3. Beispiel)
 
var be_0= new be_slideshow("0",pics1);
    //Der 2. Parameter ist der Parameter, den wir für das Array mit den Bildern
    //festgelegt haben, im Beispiel ist das pics1.
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_imges
 
var be_0= new be_slideshow("0",pics1,"slideshow");
    //Der 3. Parameter ist die Identity des DIV-Containers,
    //in dem die Slideshow angezeigt werden soll.
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_divid
 
var be_0= new be_slideshow("0",pics1,"slideshow",400);
    //Der 4. Parameter ist die Breite des breitesten Bildes in Pixel.
    //Hinweis: Die Bilder werden vom Script nicht skaliert!
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_picwid
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300);
    //Der 5. Parameter ist die Höhe des höchsten Bildes in Pixel.
    //Hinweis: Die Bilder werden vom Script nicht skaliert!
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_pichei
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc");
    //Der 6. Parameter ist die Hintergrundfarbe der Slideshow. Sie ist von Bedeutung,
    // wenn Bilder nicht exakt den - in den beiden vorherigen Parametern angegebenen
    //Abmessungen entsprechen.
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_backgr
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1);
    //Der 7. Parameter left fest, wie lange ein Bild zwischen zwei Wechseln
    // angezeigt wird (in Sekunden).
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_sdur
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1);
    //Der 8. Parameter ist die Zeit, die der Wechsel dauern soll
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_fdur
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1,20);
    //Der 9. Parameter ist die Anzahl der Schritte, in denen von 100-0 überblendet
    //werden soll. Ein Wert von 1 bis 100, je höher desto fließender der Wechsel.
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_steps
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1,20,"n");
    //Der 10. Parameter legt die Starteinstellung fest.
    //Soll nach dem Laden automatisch gestartet werden? "y" für Ja, "n" für Nein
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_startwhen
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1,20,"n","n");
    //Der 11. Parameter betrifft das Startbild.
    //Soll mit einem zufälligen Bild begonnen werden? "y" für Ja, "n" für Nein
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_shuffle
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1,20,"n","n","y");
    //Der 12. Parameter entscheidet über die Anzeige von Kontrollelementen.
    //Sollen Kontrollelemente angezeigt werden? "y" für Ja, "n" für Nein
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_showcontr
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1,20,"n","n","y",buttons1);
    //Der 13. Parameter ist der Parameter, den wir für das Array mit den Linkinhalten
    //der Kontrollelemente festgelegt haben, im Beispiel ist das buttons1.
    //bei den Kontrollelementen hat man die Wahl zwischen Textlinks und grafischen
    //Buttons. In diesem Array werden dementsprechend entweder der Text für die
    //Textlinks oder der Pfad zum Button eingetragen. Findet das Script die Endung
    //.jpg, .gif oder .png, dann wird der Button angezeigt, ansonsten ein Textlink
    //die Reihenfolge der Kontrollelemente und damit auch der Elemente in diesem 
    //Array ist: ZURÜCK - START - STOP - VOR
    //Den Standardwert für diesen Parameter setzt im Sriptfile der Parameter: def_contr
 
var be_0= new be_slideshow("0",pics1,"slideshow",400,300,"#ccc",1,1,20,"n","n","y",buttons1);
    //Nochmals der komplette Aufruf.
Im zweiten Schritt wird jetzt noch im BODY-Bereich der Seite an der gewünschten Stelle der DIV-Container eingefügt, der die Slideshow enthalten wird. Wichtig dabei ist die IDENTITY, in diesem Fall "slideshow" (id="slideshow"). Sie kann frei gewählt werden, im Script haben wir sie in diesem Beispiel bereits als Parameter gesetzt. Der Container kann beliebig positioniert und formatiert werden.
In diesem Beispiel ist bereits jetzt eines der - im Beispiel in einem Unterordner namens "pics" abgelegten - Bilder eingebunden, mit denen das Script dann arbeitet. Das hat den Vorteil, dass Besuchern mit deaktiviertem JavaScript zumindest das statische Bild angezeigt wird.
Für Besucher mit aktiviertem JavaScript hat der statische Inhalt des DIV-Containers keine Relevanz, da er beim Laden der Seite vom Script ersetzt wird.

<div id="slideshow" style="margin:25px;">
  <img src="pics/pic01a.jpg" style="width:400px;height:300px;" />
</div>

Damit sind in der Seite selbst alle nötigen Vorbereitungen getroffen.


be_slide.js - die Scriptdatei

Im heruntergeladenen JavaScript-File "be_slide.js" sollte man jetzt die einzelnen Standardwerte setzen (diese sind in Beispiel 01 ausführlich erklärt). Unbedingt erforderlich, damit die Verwendung mit verschiedenen Einstellungen wie hier beschrieben funktioniert ist aber, dass wir den im Script enthaltenen Standardaufruf löschen oder besser auskommentieren. Dazu fügen wir in der letzten Zeile des Scripts:
var be_0= new be_slideshow();
am Beginn der Zeile die Kennzeichnung für einen einzeiligen Kommentar ein:
//var be_0= new be_slideshow();
Damit ist der Standardaufruf außer Funktion und unser oben ersteller Aufruf übernimmt.

 


Das wars. Viel Spass mit dem Script!
Zuletzt aktualisiert am Donnerstag, den 26. November 2009 um 18:49 Uhr
 
Kommentare (10)
Frage
10 Montag, den 14. Juni 2010 um 20:55 Uhr
Simon Frauenschuh

Hallo, das script ist seh rschön, nur habe ich verschiedene Bildgrößen, so ist mein Problem das das bläd aussieht wenn die buttons einen abstabd vom Bild haben, wie kann ich machen das das script dieBildgröße automatisch erkennt?! geht das irgentwie??


Dnake Simon

@Simon Frauenschuh
Dienstag, den 15. Juni 2010 um 20:33 Uhr
A. Berger

Hallo Simon!

Nein, das Script skaliert größere Bilder auf die Maximalabmessungen, die Du in der Konfiguration festgelegt hast und versucht kleinere Bilder in dieser Fläche zu skalieren. Weitere Anpassungen werden nicht vorgenommen und das wird sich auch nicht ändern.

Trotzdem, verschieden große Bilder sind in der Regel kein unabwendbares Schicksal. Es gibt genug freie Bildbearbeitungssoftware wie z.B. GIMP mit der sich ausgezeichnet arbeiten lässt und schlußendlich bist immer noch Du der Webmaster und hast es in der Hand, die Bilder offline zu skalieren. Das Resultat auf der Seite ist bei gleich großen Bildern ohnehin das Beste und darauf kommt es schlußendlich ja an.
Also, anstatt einen Missstand programmatisch zu verwalten - kann man ihn ja auch einfach beseitigen. :)

Gruß
Andreas

Fehler
9 Mittwoch, den 28. April 2010 um 18:56 Uhr
Roger lemon

Hey ich hab ein Problem, ich kenne mich mit java nicht aus und verstehe das nicht!! kann mir vllt jemand das vollständige script shcicken?? vllt verstehe ich es dann!! also von obe bis unten nichts auslassen, ich bin anfänger! lasst ruhig eure bilder drinnen sonst verpeil ich das womöglich auch noch danke!

@Quirin Kraus
Samstag, den 08. Mai 2010 um 16:59 Uhr
A. Berger

Hallo Quirin!

Das Script verwendet die zIndex-Levels 1 und 2. Es sollte also reichen, wenn Du den Header Container auf 3 setzt.

Gruß
Andreas

PS.: Danke für den in Aussicht gestellten Link!

Danke ist sehr schön
Donnerstag, den 06. Mai 2010 um 07:21 Uhr
Quirin Kraus

okay! Das ist hervorragend, also sowohl das script als auch der rest, bei eanderen seiten war oftmals werbung oder so dabei! Wenn du willst verlink ich dich, wenn meine hp onlin eis drauf! Aber nocheine frage ich hab das script jez mit meinen bildern voll gepumpt... aber jez hab ich ein Problem wenn man auf meiner seite hochscollt dann sieht man das Bild über dem Header.container, welcher eig immer im vordegrund bleiben sollte! Das muss ich ja mit dem z-index verstellen glaub ich oder? bzw was muss ich für einen z-index angeben?!


Vielen Dank Quirin

@Quirin
Mittwoch, den 05. Mai 2010 um 20:10 Uhr
A. Berger

Hallo Quirin!

Welche Werbung? Du hast mit dem Download ein voll funktionsfähiges Beispiel. Schau es Dir an, schau Dir den Quelltext der Seite an, schau Dir das Script selbst an. Es gibt keine Werbung. Und da das Script nicht irgendwie verschlüsselt ist, lässt sich da weder etwas verstecken noch gibt es eine Funktion, die etwas nachlädt.

Also - viel Spaß damit!
Andreas

Frage 2
Mittwoch, den 05. Mai 2010 um 15:49 Uhr
Roger Lemon aka Quirin Kraus...

Oke gut das hab ich nun gefudnen, aber wie ist das mit werbung? WIrd dann dort stehen eine addresse von dir oder wie?? ist diese script werbe frei, wenn nicht wie viel werbung ist da bzw wo?!

LG Quirin

@Roger Lemon
Donnerstag, den 29. April 2010 um 18:04 Uhr
A. Berger

Hallo Roger Lemon aka Quirin Kraus!

Du kannst das gesamte Script auf der Seite "Slideshow" (http://www.bretteleben.de/lang-de/javascript/slideshow.html) herunterladen (Am Ende des Content, vor den Kommentaren). Das empfiehlt sich alleine schon deshalb, weil es schwierig ist, jemandem etwas zu schicken, von dem man keine Adresse hat. ;)

Betreffend der Bilder - das ZIP enthält ein funktionierendes Beispiel.

Gruß
Andreas

Kommentar zurückziehen
8 Montag, den 19. April 2010 um 09:24 Uhr
Jenny

hi

möchte meinen Kommentar zurück ziehen, da es jetzt funktioniert....
aber leider funktioniert es noch nicht wenn ich mehrere slideshows einfüge
es läuft immer nur die erste die anderen wechseln nicht automatisch

@Jenny
Dienstag, den 20. April 2010 um 20:11 Uhr
A. Berger

Hallo Jenny!

In dem Fall würde ich das Problem einfach zurückstellen. Melde Dich sobald die Seite online ist, der Fehler ist dann sicher schnell gefunden.

Gruß
Andreas

hi
Dienstag, den 20. April 2010 um 08:38 Uhr
Jenny

Kann leider kein link zur seite machen, da diese noch im komplettaufbau ist und somit auf noch keinem server.


das komische ist ja bei der 2 slideshow wechseln die bilder nur beim neuladen des seite

@Jenny
Montag, den 19. April 2010 um 18:10 Uhr
A. Berger

Hallo Jenny!

Wenn Du einen Link zur Seite postest, schau ich mir gerne an woran es liegt.

Gruß
Andreas

Hilfe!!
7 Montag, den 19. April 2010 um 08:49 Uhr
Jenny

hab ein großes Problem....
bei mir läuft diese slideshow nicht..
hab alles genauso gemacht wie in der Anleitung beschrieben, aber sie startet nicht sehe immer nur das erste bild
wer kann mir helfen...

@Michael
6 Mittwoch, den 26. August 2009 um 17:11 Uhr
A. Berger
Hallo Michael!

Du kannst den Array mit den Bildern nicht nur im JavaScript-file sondern auch direkt in der Seite befüllen. Nachdem Deine Bilder in einer Datenbank liegen, nehme ich an, dass Dir auch eine serverseitige Scriptsprache (PHP, ASP, ...) zur Verfügung steht, mit der Du das realisieren kannst.
Nachdem Du es geschafft hast, die Bilder IN die Datenbank zu bekommen, bin ich guter Dinge, dass Du sie auch wieder AUS der Datenbank bekommst. Das Slideshow-Script ist in der Hinsicht als rein clientseitiges Script lediglich das ausführende Organ.

Gruß
Andreas
Slideshow
5 Mittwoch, den 26. August 2009 um 12:25 Uhr
Michael
Hi!

Zuerst möchte ich einmal sagen, echt tolles Skript!

Ich möchte das ganze gern in meine Website einbauen aber ich hab ein Problem. Kann man das ganze auch verwenden, wenn die Bilder in einer Datenbank sind?

Mfg Michael
@Ralf P. Zimmermann
4 Montag, den 29. Juni 2009 um 19:06 Uhr
A. Berger
Hallo Ralf!

Das liegt daran, dass der DIV-Container, der die Slideshow enthalten soll und das Script nicht im selben Fenster liegen. Vielleicht magst Du Dir ja auf selfhtml.org oder der Seite Deiner Wahl die entsprechenden Punkte durchlesen, bei denen es um das Ansprechen von Scripts im oder aus dem Parent-Frame geht.

Gruß
Andreas
Problem bei Zweitfenster (Popup)
3 Montag, den 29. Juni 2009 um 12:58 Uhr
Ralf P. Zimmermann
Hallo Andreas,

herzlichen Dank für Deine Slideshow. Hat mir sehr viel Arbeit erspart.
Allerdings habe ich Probleme, die Slideshow auf einem Popup-Fenster laufen zu lassen. Es erscheint nur das Ersatzbild, das man im DIV angibt. Auch die Buttons erscheinen nicht.

Kannst Du mir da weiterhelfen?

Vielen Dank schon im Voraus.
thansk
2 Donnerstag, den 25. Juni 2009 um 17:53 Uhr
fede
dude thanks a lot u saved me hours of work of going to flash and doing each transition with over 200 images! thanks keep up the good work!
Slideshow
1 Samstag, den 07. März 2009 um 14:42 Uhr
Djordje
Excellent!
Deutsch
Panoramic Image Viewer
AddThis Social Bookmark Button
Wer ist online
Wir haben 32 Gäste online
Neueste Beiträge