Startseite Javascript Slideshow - Slideshow Beispiel 03
2010-09-09
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 Beispiel03
Geschrieben von: Andreas Berger   
Sonntag, den 01. März 2009 um 12:31 Uhr

Das dritte Beispiel erweitert die in den ersten beiden Beispielen gezeigten Möglichkeiten nun noch um die Darstellung mehrerer Slideshows auf einer Seite. Die Annahme: Auf einer Seite sollen mehrere (im Beispiel 2) Slideshows 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. Wie im Beispiel 02 möchten wir das Script auch hier mit verschiedenen Slideshows ansprechen. Nur diesmal auf der selben Seite. Dazu müssen wir im HEAD-Bereich der Seite nicht nur das Script verlinken, sondern auch die jeweiligen Einstellungen für unsere Slideshows 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,"slideshow1",400,300,"#ccc",1,1,20,"n","n","y",buttons1);
 
var pics2=new Array ('pics/pic02a.jpg', 'pics/pic02b.jpg', 'pics/pic02c.jpg');
var be_1= new be_slideshow("1",pics2,"slideshow2",400,300,"#ccc",1,1,20,"y","n","n");
</script>
Die einzelnen Schritte:
<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 erste 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 ruft die erste Slideshow auf.
    //Eine genaue Beschreibung findet sich bei Beispiel 02
 
var pics2=new Array ('pics/pic02a.jpg', 'pics/pic02b.jpg', 'pics/pic02c.jpg');
    //In diesem Array werden die Bilder angelegt, die die zweite Slideshow verwenden soll.
 
var be_1= new be_slideshow("1",pics2,"slideshow2",400,300,"#ccc",1,1,20,"y","n","n");
    //Diese Zeile ruft die zweite Slideshow auf.
    //Eine genaue Beschreibung findet sich bei Beispiel 02
 
    //Die zweite Slideshow verwendet keine Kontrollelemente, deshalb auch kein Array dafür.
    //Wollten wir Kontrollelemente anzeigen, dann könnten wir natürlich auch die Buttons
    //der ersten Slideshow verwenden und diesen Array als letzten Parameter angeben.
 
    //Neu ist hier die Bezeichnung be_1 und der Wert des ersten Parameters "1".
    //Diese verwenden wir in aufsteigender Reihenfolge. Eine dritte Slideshow auf
    //der selben Seite hätte hier die Variablenbezeichnung be_2 und als Wert des
    //ersten Parameters "2" ... und so weiter.
 
</script>
    //Die letzte Zeile schließt den SCRIPT-Tag.
 
Im BODY-Bereich der Seite werden diesmal nun zwei DIV-Container eingefügt, die die Slideshows enthalten werden. Wichtig wieder die IDENTITY, in diesem Fall "slideshow1" (id="slideshow1") und "slideshow2" (id="slideshow2"). Die Container können beliebig positioniert und formatiert werden.
Auch in diesem Beispiel binden wir statisch je eins der Bilder ein.

<div id="slideshow1" style="margin:25px;">
  <img src="pics/pic01a.jpg" style="width:400px;height:300px;" />
</div>
 
<div id="slideshow2" style="margin:25px;">
  <img src="pics/pic02a.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 (25)
links fancybox
15 Freitag, den 13. November 2009 um 19:54 Uhr
peter
huhu.

sehr cooles script. wäre noch cool, wenn man auf das bild kommt, dass es dann in groß erscheint, bzw. über fancybox/lightbox groß wird.
@Andi
14 Sonntag, den 01. November 2009 um 17:12 Uhr
A. Berger
Hallo Andi!

Ja könnte man - werde ich auch - nur dazu gekommen bin ich noch nicht :)

Gruß
Andreas
Bilder Verlinken
13 Freitag, den 30. Oktober 2009 um 19:28 Uhr
Andi
Hi!
Das Script gefällt mir sehr gut, sehr übersichtlich aufgebaut und vor allem die Dokumentation.
Aber eines Vermisse ich sehr, könnte man nicht die Bilder mit einer neuen Variable verlinken?
Mit klick aufs Bild z.b.:
var link1=new Array ('myDomain.com/pics/pic01a.jpg', 'yourDomain.com/pics/pic01b.jpg');

mfg Andi
solved: controls zicken bei 3 gleichzeitigen slides
12 Mittwoch, den 09. September 2009 um 19:09 Uhr
jens31
yo andy

danke für das fixe lösen meines problems..
habe gerade gelesen, dass jmd anderes ebenfalls per klick aufs bild navigieren wollte. gib ihm doch einfach mein teil, weil jetzt funktionierts..
(war übrigens klar, dass wieder mal an meiner eigenen unachtsamkeit gelegen hat.)

danke dir
jens
@jens31
11 Donnerstag, den 03. September 2009 um 22:15 Uhr
A. Berger
Hallo jens31!

Du übermittelst beim Aufruf der Scripts jeder Slideshow als ersten Parameter den Wert "0", also die selbe Identity. Wenn Du Dir das Beispiel auf dieser Seite ansiehst - der Parameter wird hochgezählt. Probier das mal.

Gruß
Andreas
controls zicken bei 3 gleichzeitigen slides
10 Donnerstag, den 03. September 2009 um 10:42 Uhr
jens31
hi

vielen dank für das skript. macht einen sehr guten eindruck ;)
mein versuch ist es eine ganz simple slideshow zu basteln, ohne play und überblendung. klickt man auf das bild, kommt das nächste dran. dazu hab ich einfach das script von den buttons um das img tag gelegt. das klappt auch, aber immer nur beim ersten slide.
klicke ich auf das bild in der nächsten slideshow, wechsel ich ebenfalls den ersten slide.
deswegen habe ich extra mal die controls hinzu gefügt, da passiert aber genau das selbe. die controller reagieren nur auf slideshow 1..?

für jede hilfe wäre ich dankbar.
http://313130.net/clients/atzelot/index4.htm
@rob
9 Dienstag, den 16. Juni 2009 um 20:06 Uhr
A. Berger
Hi rob!

Open the JavaScript file be_slide.js with a text editor. Find the lines 199 to 203 near the end. They all start with:

myhtml+="

in line 199 remove the part: text-align:right;
in line 200 replace: style='text-decoration:none;'
with: style='text-decoration:none; float:left;'
in line 201 add two slashes at the beginning of the line to make it a comment: //
in line 202 again, make it a comment with two initial slashes: //
in line 203 replace: style='text-decoration:none;'
with: style='text-decoration:none; float:right;'

Best regards
Andreas
is it possible to move the buttons?
8 Dienstag, den 16. Juni 2009 um 13:39 Uhr
rob
hello, first of all i'd like to say its a nice little script...very useful.
I was wondering how to move the controls, i'd like to put the previous image button to the left of the image and the next button to the right of the image,and then also to remove fully the other two buttons (start and stop) I can't really figure out a way of doing this maybe its not possible...
@didli
7 Donnerstag, den 21. Mai 2009 um 08:26 Uhr
A. Berger
Hi didli!

The possibility to link single images is on my todo-list. For the moment - and as long as you don´t show controls - you could include the whole div-container within a link. Not very elegant, but works.

Kind regards
Andreas
@roville
6 Donnerstag, den 21. Mai 2009 um 08:09 Uhr
A. Berger
Hi roville!

This sample explains how to use 1 scriptfile for more than one slideshow on 1 page.
Sample 02 shows how to use 1 scriptfile for more than one slideshow on different pages.

What you want to achieve should be covered by this samples. If you have a specific problem, maybe you could provide a link to the page(s) and I will have a look at it.

Best regards
Andreas Berger