Vielen Dank für die Antworten bisher.
Die Lösung von Hopka brachte mich bisher am weitesten (Vielen Dank dafür!), damit kann ich mich gut anfreunden. Allerdings läuft das nicht unter dem IE, auch schon im Ursprungszustand nicht. Mit meinen bescheidenen Kenntnissen habe ich es nicht hinbekommen. Kannst Du mir hier vllt. noch mal unter die Arme greifen? Mein umgebautes
JS sieht derzeit so aus:
PHP-Code:
function scroll(obj, evt, content)
{
var content = document.getElementById(''+content+'');
// Mausposition innerhalb des Containers
var mouseY = evt.pageY - obj.offsetTop;
// auf 0 - 1 normierter Wert
var pos = mouseY / obj.clientHeight;
mouseY = (pos==0) ? mouseY -5 : mouseY +5;
// Faktor auf Höhe des Inhaltes anwenden (hier wird noch die Höhe des Containers abgezogen, damit der Inhalt nicht komplett nach oben verschwindet
content.style.marginTop = ((content.clientHeight - obj.clientHeight) * -pos) + 'px';
}
...
<div id="container" onmousemove="scroll(this,event,'content')">
<ul id="content">
...
Der IE stört sich am evt.pageY, ich habe mir temporär auch mal meine Lösung eingebaut, um die Cursorposition zu bestimmen:
PHP-Code:
var mouseY = (evt.offsetY) ? evt.offsetY : evt.layerY;
Jetzt wird der Inhalt im IE jedoch unterhalb des Mauszeigers gescrollt, zudem bekomme ich eine Fehlermeldung (natürlich IE like super aussagekräftig; "Ungültiges Argument") wenn ich mit der Maus auf 0px Höhe bin, im Firefox läuft es weiterhin tadellos ohne jeden Fehler (in der Konsole).
Ich glaube ich habe ein Brett vorm Kopf!
Edit: Noch etwas, gibt es eine Möglichkeit mit ChildNode oder so den Inhalt des Containers direkt anzusprechen? Dann spare ich mir die ID und Übergabe dessen in
content . Natürlich habe ich es schon probiert, und natürlich nicht hinbekommen.