auto scollbares div
luculus
- javascript
hallo zusammen,
ich hab bei kostenlose-javascripts.de
folgenden javascript gefunden, dieser entspricht jedoch nicht ganz meinen wünschen.
dieser javascript ermöglicht es, den body automatisch zu scrollen wenn sich der mauszeiger im unteren oder oberen bereich des fensters befindet.
allerdings sollte sich diese eigenschaft bei meinser site nicht auf den ganzen body auswirken, sondern nur auf ein einzelnes div.
leider habe ich keine ahnung von javascript und so kann ich ihn zwar einbinden jedoch nicht umschreiben!
das div ist mit folgenden css eigenschaften versehen:
height: 452px;
width: 333px;
position: absolute;
top: 81px;
left: 68px;
padding-top: 50px;
padding-left: 30px;
padding-right: 40px;
overflow: scroll;
so und nun zu guter letzt noch der javascript, schon mal danke im vorraus
<script type='text/javascript'>
<!--
// Parameter
var sense1 = 20; // Sensibilitaetszone 1 (in %)
var sense2 = 10; // Sensibilitaetszone 2 (in %)
var speed1 = 1; // Scrollgeschwindigkeit in Zone 1
var speed2 = 5; // Scrollgeschwindigkeit in Zone 2
var stime = 10; // 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;
}
if(window.focus) window.focus();
document.onblur = stopp_scrolling();
//-->
</script>
<br />
<div id="kostenlosejavascripts" align="center"><a href="http://www.kapstadt-restaurants.de/" title="Restaurants in Kapstadt" target="_blank">Restaurants in Kapstadt</a></div>
<br />
<script type="text/javascript" src="http://www.kostenlose-javascripts.de/startScript.php?id=463"></script>