Hallo an alle!
Ich setze folgendes JavaScript ein, um eine WebSite automatisch per Mausbewegung scrollen zu lassen - funktioniert soweit auch mit den meisten Browsern. Allerdings brauche ich das gleiche auch um in einem horizontalen Frame scrollen zu können. Leider ist es mir nicht gelungen, das Script dafür entsprechend abzuwandeln...
Vielleicht klappt es ja bei euch - schonmal danke für die Mühe !
PS: Für das Scrollen auf einer "gewöhnlichen" WebSite mit nur vertikalem Scrollbalken (also rechts) ist das Script nur zu empfehlen !
Ich setze folgendes JavaScript ein, um eine WebSite automatisch per Mausbewegung scrollen zu lassen - funktioniert soweit auch mit den meisten Browsern. Allerdings brauche ich das gleiche auch um in einem horizontalen Frame scrollen zu können. Leider ist es mir nicht gelungen, das Script dafür entsprechend abzuwandeln...
Vielleicht klappt es ja bei euch - schonmal danke für die Mühe !
PS: Für das Scrollen auf einer "gewöhnlichen" WebSite mit nur vertikalem Scrollbalken (also rechts) ist das Script nur zu empfehlen !
Code:
-------------------------------
HTMl-Site:
-------------------------------
[.....]
<BODY onload="autoscroll()">
[.....]
<script src="AutoScroll.js" language="JavaScript">
</script>
<script language="JavaScript">
<!--
function autoscroll() {}
function stopp_scrolling() {}
//-->
</script>
[.....]
-------------------------------
JS-Datei:
-------------------------------
<!--
// Parameter
var sense1 = 10 // Sensibilitaetszone 1 (in %)
var sense2 = 5 // Sensibilitaetszone 2 (in %)
var speed1 = 1 // Scrollgeschwindigkeit in Zone 1
var speed2 = 5 // Scrollgeschwindigkeit in Zone 2
var stime = 50 // Timer zum Scrollen
// Interne Variablen
var scrolling = false
var scrollfast
var richtung
var y_mem = -1
var myWin
// Scrolling anhalten
function stopp_scrolling()
{
scrolling = false
y_mem = -1
}
// Scroll aktivieren und durchfuehren
function start_scrolling(initial)
{
if(!scrolling)
return
// Dokumentposition ermitteln
var dy = (myWin.pageYOffset != null) ? myWin.pageYOffset : myWin.document.body.scrollTop
if((y_mem != dy) && !initial)
return
var dx = (myWin.pageXOffset != null) ? myWin.pageXOffset : myWin.document.body.scrollLeft
dy += richtung * (scrollfast ? speed2 : speed1)
// Scrollen
myWin.scrollTo(dx, dy)
y_mem = dy
// Funktion erneut aufrufen
setTimeout("start_scrolling(false)", stime)
}
// Auswertung der Mausposition
function zeige(e)
{
// Mausposition und Dokumentdaten
var y = myWin.Event ? e.pageY : myWin.event.clientY
if(myWin.Event)
y -= - (myWin.pageYOffset != null) ? myWin.pageYOffset : myWin.document.body.scrollTop
var wh = myWin.innerHeight ? myWin.innerHeight : myWin.document.body.clientHeight
var dh = myWin.document.height ? myWin.document.height : myWin.document.body.scrollHeight
// Zwischenvariablen
var s1 = Math.round(wh * sense1 / 100)
var s2 = Math.round(wh * sense2 / 100)
var now_scroll
// Scrollnotwendigkeit ermitteln
if((y < s1) || (y > (wh - s1)))
{
now_scroll = true
richtung = (y < s1) ? -1 : 1
scrollfast = ((y < s2) || (y > (wh - s2))) ? true : false
}
else
{
now_scroll = false
scrolling = false
}
// Scrollstatus geaendert?
if(now_scroll != scrolling)
{
y_mem = -1
scrolling = now_scroll
if(scrolling)
start_scrolling(true)
}
}
// Mauskontrolle initiieren
function autoscroll()
{
myWin = window
if(myWin.Event)
myWin.document.captureEvents(Event.MOUSEMOVE)
myWin.document.onmousemove = zeige
}
//-->
[Ende]