ZUSATZ: Scrollen eines Frames
Michael
- javascript
Hallo,
Entschuldigt bitte, wenn ich einen neuen Thread erstellt habe und nicht in meinem alten Thread weitergeschrieben habe, aber scheinbar hat keiner mehr meinen alten Thread weiter verfolgt.
Es geht noch einmal darum, dass ich bei MouseOver einer Grafik einen eingebetteten Frame scrollen möchte.
Ich habe die Funktion nun folgendermassen ausgebaut:
Die sensitive Grafik wird in einem eindeutigen Div so eingebunden:
<div id="hochscrollen"><a onmouseover="init([Richtung]);">...</a></div>
Hinweis:
Der Platzhalter ist im Quelltext beim Hochscrollen durch -1 bzw. beim Runterscrollen durch 1 ersetzt
Die Funktion init([Richtung]) soll nun die Überwachung des jeweiligen Div-Bereiches starten:
if (document.layers)
{
document.getElementById('hochscrollen').captureEvents(Event.MOUSEOVER);
document.getElementById('runterscrollen').captureEvents(Event.MOUSEOVER);
}
document.getElementById('hochscrollen').onmouseover = scrollen('-1');
document.getElementById('runterscrollenscrollen').onmouseover = scrollen('1');
Danach wird die Funktion scrollen(richtung) aufgerufen:
if (richtung == -1)
anzeige.scrollBy(0,-3);
else
anzeige.scrollBy(0,3);
Nun erhalte ich aber beim MouseOver-Ereignis die Fehlermeldung, dass die Abfrage "if (document.layers)" nicht implementiert sei.
Was passt nicht ?
Ich muss ja überprüfen, wie welcher Browser (IE, Netscape, Opera) Ereignisse abfängt.
Gruss, Michael
Hallo,
if (document.layers)
{
document.getElementById('hochscrollen').captureEvents(Event.MOUSEOVER);
document.getElementById('runterscrollen').captureEvents(Event.MOUSEOVER);
}
Warum überprüfst du ob ein Objekt vorhanden ist, welches du gar nicht benutzen willst? Wenn du nur das Element document.getElementById benutzt, dann überprüfe doch lieber das.
if (document.getElementById)
Mit freudlichen Grüßen, NaeZnaL
Hallo NaeZnaL,
welches du gar nicht benutzen willst ?
Hoppala, stimmt, Leichtsinnsfehler...
Hab nun die Funktion korrigiert:
function init(richtung)
{
document.getElementById('hochscrollen').captureEvents(Event.MOUSEOVER);
document.getElementById('runterscrollen').captureEvents(Event.MOUSEOVER);
document.getElementById('hochscrollen').onmouseover = scrollen('-1');
document.getElementById('runterscrollenscrollen').onmouseover = scrollen('1');
}
function scrollen(richtung)
{
if (richtung == -1)
anzeige.scrollBy(0,-3);
else
anzeige.scrollBy(0,3);
}
Nun bringt er mir aber die Meldung, dass "Event" undefiniert ist :-(
Mann, Mann, Mann...
Gruss, Michael
Hallo.
Nun bringt er mir aber die Meldung, dass "Event" undefiniert ist :-(
Wenn es kein Netscape 4 ist stimmt das wohl.
Ich glaube, die Idee mit document.layers war nicht schlecht,
da captureEvents() eine Methode der selben ist.
MfG _Siro.
Hallo Siro,
Und des Rätzels Lösung ? :o)
Gruss, Michael
Hallo.
Und des Rätzels Lösung ? :o)
42 oder so ähnlich.
Ich habe leider keine Ahnung was das soll, ich hab's mit IE5.01 Standalone, IE6, NC4.78, Firefox ,Opera 6 und 7 probiert und es hat funktioniert.
Welcher Browser meckert denn?
MfG _Siro.