Das „prototype-carousel“-Script ist eine Prototype.js / Script.aculo.us Erweiterung, mit der sich sehr einfach eine Slideshow oder ein Carousel für Websites schaffen lässt.

Das Script stelle mich aber vor das Problem, dass man bei seinem Aufruf nicht direkt zu einem spezifischen Slide springen konnte.

Als Navigation dienen CSS-gesteuerte Links:

<a href="javascript:" id="link1" rel="tab-1" 
class="carousel-jumper carousel-selected">Slide 1</a>
<a href="javascript:" id="link2" rel="tab-2" 
class="carousel-jumper">Slide 2</a>
<a href="javascript:" id="link3" rel="tab-3" 
class="carousel-jumper">Slide 3</a>
(...)

prototype-carousel ist in der Lage, den jeweils aktiven Tab mit dem Zusatz carousel-selected zu markieren. Eine entsprechende CSS-Formatierung schafft daraus eine simple Navigation.
Rufe ich aber eine Seite auf, auf den ich beispielsweise den 2. Reiter markiert haben möchte, und dazu auch das 2. Slide aufgerufen haben will, ist dies mit der Basisversion von prototype-carousel leider nicht möglich.
Das Problem ist vorbeschrieben, aber derzeit noch ungelöst. Deshalb habe ich folgenden Workaround erstellt.

Die Tabs werden beispielsweise wie folgt geladen:

<a href="javascript:" id="link1" rel="tab-1" class="carousel-jumper">Slide 1</a>
<a href="javascript:" id="link2" rel="tab-2" class="carousel-jumper carousel-selected">
Slide 2</a>
<a href="javascript:" id="link3" rel="tab-3" class="carousel-jumper">Slide 3</a>
(...)

An carousel.js habe ich jetzt ab Zeile 68 die Schleife if (this.options.initial) { durch folgenden Code ersetzt:

// Erkenne den ausgewählten Tab
var goto = 'tab-1';
if(document.getElementById("link1").className == 'carousel-jumper carousel-selected') {
goto = document.getElementById("link1").rel };
if(document.getElementById("link2").className == 'carousel-jumper carousel-selected') {
goto = document.getElementById("link2").rel };
if(document.getElementById("link3").className == 'carousel-jumper carousel-selected') {
goto = document.getElementById("link3").rel };
this.options.duration = 0;
this.moveTo(goto);
this.options.duration = 0.5;

Das ist sicherlich keine elegante oder dynamische Lösung, sondern ein Workaround. Aber funktionell.