Hallo allerseits,
ich habe gestern die halbe Nacht erfolglos versucht, das folgende script so umzuschreiben,
dass man mit dem Cursor nach rechts und links scrollen kann, anstelle auf- und abwärts.
Mittlerweile sehe ich vor lauter x und ypsilons schon gar nicht mehr, wo oben und unten ist ..
ist dies überhaupt möglich?
Vielleicht kann mir einer von euch einen Tipp geben, welche Variablen ich außer x, y und height
noch beachten muss. Ich vermute mal, mein Fehler liegt in den Zeilen // Dokumentposition ermitteln
Da wäre ich echt sehr sehr dankbar für.
Ach ja .. ich persönlich finde scrollbalken auch viel praktischer, aber meine Chefin will das andere ;)
Schönen Gruß
<SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
<!--
// 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 init()
{
myWin = window
if(myWin.Event)
myWin.document.captureEvents(Event.MOUSEMOVE)
myWin.document.onmousemove = zeige
}
//-->
</SCRIPT>
<BODY ... onLoad="init()" onBlur="stopp_scrolling()">