Abwechselnd nach oben und unten scrollen lassen
schustec
- javascript
Hallo,
ich würde gerne eine Seite (Terminplan)automatisch nach unten scrollen lassen, am Ende angekommen dann aber wieder nach oben. Das Hinunterscrollen funktioniert soweit auch porblemlos mit folgendem Script:
function AutomatischScrollen_unten()
{
window.scrollBy(0,1);
Scrollen();
}
function Scrollen_unten()
{
GescrollteZeit = window.setTimeout("AutomatischScrollen_unten()", 50);
}
Wenn ich jetzt die gleichen Funktionen nach oben hätte:
function AutomatischScrollen_oben()
{
window.scrollBy(0,-1);
Scrollen();
}
function Scrollen_oben()
{
GescrollteZeit = window.setTimeout("AutomatischScrollen_oben()", 50);
}
Dann bräuchte ich wohl "nur" eine Wenn-Abfrage, ob das Seitenende erreicht ist (dann Funktion "Automatischscrollen_oben()") bzw. in dieser Funktion dann eine Abfrage ob der Seitenanfang erreicht ist (dann Funktion "Automatischscrollen_unten()"). Leider kenne ich dafür die geeigneten Befehle nicht. Könnte mir da jemand weiterhelfen?
Vielen Dank und Grüße,
schustec
Sorry, der Funtionsaufruf muss natürlich
Scrollen_unten();
bzw.
Scrollen_oben();
lauten
function AutomatischScrollen_unten()
{
window.scrollBy(0,1);
------>Scrollen_unten();
...
Habe jetzt selbst ne Lösung gefunden:
var y_vorher = 0
function AutomatischScrollen()
{
window.scrollBy(0,1);
AutomatischScrollen_down();
}
function AutomatischScrollen_down()
{
var y = 0;
if (document.body && document.body.scrollTop) {
y = document.body.scrollTop;
}
if (y > y_vorher) {
y_vorher = y
window.scrollBy(0,1);
Scrollen_down();
}
else {
setTimeout("AutomatischScrollen_up()", 2000);
}
}
function Scrollen_down()
{
GescrollteZeit = window.setTimeout("AutomatischScrollen_down()", 40);
}
function AutomatischScrollen_up()
{
var y = 0;
if (document.body && document.body.scrollTop) {
y = document.body.scrollTop;
}
if (y > 0) {
window.scrollBy(0,-1);
Scrollen_up();
}
else {
y_vorher = 0;
setTimeout("AutomatischScrollen()", 2000);
}
}
function Scrollen_up()
{
GescrollteZeit = window.setTimeout("AutomatischScrollen_up()", 40);
}