Gernot Back: scrolling mittels buttons

Beitrag lesen

Hallo sYlenZ,

lass dir von den Puritanern hier deine Kreativität und Phantasien nicht nehmen!

folgende Idee: Ich erstelle einen IFrame deaktiviere autoscrolling und binde neben dem frame zwei grafiken / buttons ein mit deren Hilfe man durch den IFrame scrollen kann ... nur wie ist das zu realisieren? Bin für jeden Tip dankbar :)

Du gibst dem IFRAME eine id, z.B. id="meinIframe"

Dann kannst du auch auf das Scrolling darin zugreifen.

Schreib am besten eine Funktion im Head-Bereich deines übergeordneten Dukoments:

function scrollen (wert) {
 if(document.all) {
   document.frames['meinIframe'].scrollTo(0, neuerYwert(wert));
 } else {
   document.getElementById('meinIframe').scrollTo(0, neuerYwert(wert));
 }
 scroll = window.setTimeout("scrollen(wert)", 83);
}

Die Funktion neuerYwert()
würde ich wie folgt definieren:

neuerYwert(wert) {
 if (document.all) {
  return document.frames['meinIframe'].document.body.scrollTop += wert;
 } else {
  return document.getElementById(',meinIframe').pageYOffset += wert;
 }
}

Je nachdem, was du über deine Buttons dieser Funktion für Werte übergibst, kannst du vom Betrag her unterschiedlich schnell und vom Vorzeichen her in unterschiedliche Richtungen scrollen: Minus-Werte würden für ein Scrollen nach oben stehen, positives Werte für ein Scrollen nach unten.

Die Buttons würden dann z.B. so aussehen:

<a href="javascript:return false;" onMouseover="scrollen(5)" onMouseout="window.clearTimeout(scroll)">nach unten</a>

oder

<a href="javascript:return false;" onMouseover="scrollen(-5)" onMouseout="window.clearTimeout(scroll)">nach oben</a>

Ich habe es nicht getestet, deshalb probier es mal aus und berichte mir, ob meine Theorie stimmt. Wenn nicht, hab ich hier vielleicht an einem Punkt einen Flüchtigkeitsfehler drin. Ist halt schlecht, wenn mans nicht ausprobiert und nur so ins "Blaue" spricht.

Gruß Gernot