Slideshow mit Scriptaculous

web |  2 Kommentare

Die Slideshow basiert auf Prototype sowie Scriptaculous und ermöglicht verschiedene Instanzen. Die Darstellung erfolgt über eine unsortierte Liste. Dadurch ist es möglich neben Bildern und Fotos auch anderen HTML-Code wie auch einfache Texte darzustellen.

Hier das Beispiel wie die Galerie umgesetzt ist.

Das Javascript zur Slideshow:

toggle code
  1. function init() {
  2.  
  3.   var slides = document.getElementsByClassName('slide-show');
  4.  
  5.   for(i=0;i<slides.length;i++){
  6.  
  7.     var lis = $(slides[i].id).getElementsByTagName('li');
  8.  
  9.     for( j=0; j < lis.length; j++){
  10.       if(j!=0){
  11.         lis[j].style.display = 'none';
  12.       }
  13.     }
  14.     end_li = lis.length -1;
  15.  
  16.     setTimeout(swapElements(0,0,end_li, 3000, lis), 2000);
  17.   }
  18. }
  19.  
  20. function swapElements(cur_li, start_li, end_li, delay, lis) {
  21.  
  22.   return (function() {
  23.     Effect.Fade(lis[cur_li],{ duration:3, from:1.0, to:0.0 });
  24.  
  25.       if (cur_li == end_li) {
  26.         cur_li = start_li;
  27.       } else {
  28.         cur_li++;
  29.       }	
  30.  
  31.       Effect.Appear(lis[cur_li], { duration:3, from:0.0, to:1.0 });
  32.  
  33.       setTimeout(swapElements(cur_li,start_li,end_li,delay,lis),
  34.       delay + 3000);
  35.     }
  36.   )
  37. }
  38.  
  39. Event.observe(window, 'load', init, false);

Alle Elemente mit der Klassendefinition ‘slide-show‘ werden durchlaufen und für jedes Listenelement werden die Bilder nacheinander ausgewechselt.

Damit die Positionierung der Galerie bei den Überblendeffekten sichergestellt ist empfiehlt es sich, einige Anpassungen im CSS vorzunehmen.

Der CSS-Code:

toggle code
  1. .slide-show li{
  2.  
  3.   position:absolute;
  4.  
  5.   list-style:none;
  6.   display:block;
  7.   width:200px;
  8.   height:200px;
  9.   overflow:hidden;
  10. }

Wichtig dabei ist, dass die Listenelemente absolut positioniert werden damit sie beim wechseln eine feste Position behalten und nicht verschoben werden.

Die Ausgabe der Slideshow erfolgt, wie schon gesagt, über eine unsortierte Liste.

Der HTML-Code dafür ist folgender:

toggle code
  1. <ul id="my_slide_show" class="slide-show">
  2. <li><img src="1.jpg" alt="first image"/></li>
  3. <li><img src="2.jpg" alt="second image"/></li>
  4. <li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr...</li>
  5. </ul>

Da das Javascript auf alle Objekte mit der Klassendefinition ‘slide-show‘ zugreift, muss diese Angabe im HTML-Code mit der Klasse aus dem Javascript übereinstimmen.

Beispielcode herunterladen
Dateigröße: 69KB | Dateityp: .zip

LIVE DEMO

Social Bookmark Dienste

allgemein |  Kommentare deaktiviert

Nachdem ich neulich über twitter zu Toms neuer Seite geleitet wurde, entdeckte ich nicht nur das neue und ziemlich ansprechende Layout, sondern eine ziemlich sinnvolles Feature. Nämlich die Möglichkeit Beiträge in anderen Netzwerken zu verbreiten und Freunden zu schicken!

Wie versprochen habe ich nun auch mal etwas aufgerüstet. Nun besteht auch auf pixelspace.org die Möglichkeit, Artikel über verschiedene Social Bookmark Dienste zu speichern und Freunden zu empfehlen. Somit können die ~3 Besucher, die hier zufällig mal landen auch einen Eintrag ganz bequem weiterleiten. Bleibt nur noch das eine Problemchen mit dem Inhalt. Bislang hab ich einfach nicht die Zeit gefunden oder mir die Zeit genommen um ausführliche Einträge zu verfassen. Irgendwie komm ich mir blöd dabei vor, etwas komplett unbedeutendes zu posten.

Mal sehen wie sich das in Zukunft so entwickelt.