Hallo,
Ich habe ein scrollendes Menu erstellt. Diese fuktioniert in Mozilla, Internet-Explorer und netscape 4 und hoeher.
Alles klappt in allen Browsern nur ein problem tritt auf
der Layer kommt beim runter scrollen nicht an die position von document.body.scrollTop oder document.documentElement.scrollTop oder ... .
Schaut bitte selbst, wenn ihr nicht wisst was ich meine.http://ikt.bg9.at/~rchiryai/2.html
Auszug:
function scrolle(objekt)
{
poslay=objekt.top;
poslay=parseInt(poslay);
pos=bodyscrolltop();
pos=parseInt(pos);
komm=poslay+((pos-poslay)*0.03);
komm=Math.round(komm);
objekt.top=komm;
}
Inhalt von poslay ist die aktuelle obere Position des Objekts.
Inhalt von pos ist die Position, wo es hin soll.
Der Inhalt von komm ändert sich nur solange, wie Math.abs(pos-poslay)*0.03, gerundet noch einen Wert von 1px ergibt.
x * 0.03 < 0.5
x < 0.5 / 0.03
x < 16.6666
Sobald also ABS(pos-poslay) kleiner als 16px ist, ändert sich nichts mehr.
Am einfachsten wäre, Du lässt den Bereich das letzte Stück springen:
function scrolle(objekt)
{
poslay=objekt.top;
poslay=parseInt(poslay);
pos=bodyscrolltop();
pos=parseInt(pos);
komm=poslay+((pos-poslay)*0.03);
//komm=Math.round(komm);
komm=(Math.abs(pos-poslay)<0.5/0.03)?pos:Math.round(komm);
window.status=pos + " " + komm + " " + poslay;
objekt.top=komm + "px";
}
viele Grüße
Axel