Automatisch Iframe Scrollen nach Cursor-Position
volt
- javascript
1 Gunnar Bittersmann0 volt
1 molily0 volt
Hallo Welt,
kann sich jemand darunter etwas vorstellen?
Ich frage dann natürlich ab, in welchem Teil sich der Cursor befindet und steure damit die scroll-richtung und geschwindigkeit.
Wie frage ich die Cursor-Position ab und wie scrolle ich das fenster?
Könnte mir da jemand einen Tipp geben?
Danke
Ich frage dann natürlich ab, in welchem Teil sich der Cursor befindet und steure damit die scroll-richtung und geschwindigkeit.
volt,
Genau das tut schon der Maustreiber nach Click auf die mittlere Maustaste.
Könnte mir da jemand einen Tipp geben?
Ja, lass es. Es ist nicht sinnvoll, schon vorhandene Funktionen nochmal zu bauen.
Und der Nutzer möchte höchst wahrscheinlich auch auf deiner Seite auf die ihm gewohnte Weise navigieren.
Live long and prosper,
Gunnar
hi gunnar,
klares jain. der nutzer soll horizontal oder vertikal in iframes scrollen, ohne irgendwo draufdrücken zu müssen... befindet sich der cursor am rechten rand, wird nach rechts gescrollt.. usw. klassisch wie in flash... nur mit java-script und iframes?
mathias
Und der Nutzer möchte höchst wahrscheinlich auch auf deiner Seite auf die ihm gewohnte Weise navigieren.
Live long and prosper,
Gunnar
Hallo,
kann sich jemand darunter etwas vorstellen?
Ich frage dann natürlich ab, in welchem Teil sich der Cursor befindet und steure damit die scroll-richtung und geschwindigkeit.
Wie frage ich die Cursor-Position ab und wie scrolle ich das fenster?
Ja, das ist technisch möglich. Wie so vieles rein technisch möglich ist, ohne dass etwas Sinnvolles hinten herauskommt.
Mit dem mousemove-Event kannst du die Mausbewegung fensterweit überwachen.
Mit clientX/Y kannst du die Anzeigefenster-relativen Koordinaten eines Mausklicks auslesen.
Mit diesem Script kannst du die Höhe und Breite des Anzeigebereichs auslesen.
Mit diesen Zutaten kannst du in Erfahrung bringen, wenn sich die Maus an den oberen, unteren, linken und rechten »Rand« des Fensters bewegt (»Rand« definiert etwa als 20 Pixel breiter Streifen).
Dann kannst du entsprechend über scrollBy() den Fokus verschieben. Dabei nutzt man meist setInterval() und clearInterval(), um scrollBy() mehrmals zeitverzögert aufzurufen, solange sich die Maus auf dem »Rand« befindet (ein Mauszeiger, der sich nicht bewegt, löst keine mousemove-Events aus).
Also, es ist technisch möglich. Mit viel Aufwand wird man es aber wenig zuverlässig hinbekommen. Und es wird sich damit nicht komfortabel blättern lassen. Schon gar nicht komfortabler, als die üblichen Bildlaufleisten zu verwenden. Wieso machst du dir die Mühe?
Mathias
gracias. ich hab mich damit eine weile beschäftigt.. ich möchte kleine iframes mit thumbnails scrollen, ohne bildlaufleisten anzuzeigen oder irgendwo draufzuklicken..
Wieso machst du dir die Mühe?
Mathias