Knut: Scrollbare Layer ohne Hintergrund?

Beitrag lesen

Hi,

Machbar ist das, allerdings mit etwas aufwand.
Wenn du einen Layer "scrollen" willst mußt du dir erst einmal eine eigene Scrollbar basteln:

<layer id="Scrollbar" left="" top="" >
       <a href="#" onMouseover="scroll('aktiv', 'hoch()')" onMouseout="scroll('inaktiv', 'hoch()')">
       Hoch scrollen</a>
       <a href="#"onMouseover="scroll('aktiv', 'runter()')" onMouseout="scroll('inaktiv', 'hoch()')">
       Runter scrollen</a>
</layer>

Als nächstes brauchst du einen Layer in dem der Inhalt steht.

<layer id="Inhalt"> left="" top"">
       Hier steht dein langer langer Text.
</layer>

Diesen Layer kannst du mit document.Inhalt.moveBy(x,y) verschieben.
Um eine scroll bewegung zu simmulieren kannst du window.setInterval benutzen um die bewegungs funktion immer wieder auszuführen.

<script>

function scroll(Modus, Richtung)
{
if (Modus == "aktiv")                                
  {dup = window.setInterval(Richtung ,10);}  // wiederholt den funktionsaufruf von Richtung aller                                                                // 10 Millisekunden
if (Modus == "inaktiv")                             // trift nur zu wenn du den link wieder verlässt
{window.clearInterval(dup);}                      // löscht die wiederholung des funktionsaufrufes
}

function hoch()
{
document.Inhalt.moveBy(0,-5);} // bewegt Layer 5px nach oben

// Abruchbedingen wenn der Text zuende ist:
// Mit document.Inhalt.top - document.Inhalt.document.heigh bekommst du den unteren Rand
// des Layers. Wenn der <= der Fensterhöhe ist d.h. wenn das ende des Layers zusehn ist  
// wird die funktion nicht mehr aufgerufen.

if (document.Inhalt.top - document.Inhalt.document.height <= window.innerHeight)
{window.clearInterval(dup);}
}

function runter()
{
document.Inhalt.moveBy(0,5);}   // bewegt Layer 5px nach unten
if (document.Inhalt.top - document.Inhalt.document.height >= window.innerHeight)
{window.clearInterval(dup);}
}

</script>

Ich habs zwar nicht ausprobier es müsste aber so ungefähr funktionieren.*s*

p.s. über nehme keine garantie das da nicht irgendwo ein semikolon fehlt oder ein rechtschreibfehler zu viel ist.

cu Knut