Automatisch zum Seitenende scrollen

Puma242

Grünschnabel
Ich habe ein Script geschrieben, mit dem ich Ergebnisse aus einer MySQL-DB auslese und mittels HTML und PHP auf dem Bildschirm ausgebe. Wenn die Ergebniszeilen nun den Anzeigebereich des Bildschirms überschreiten, bildet sich am Seitenrand die Scrollleiste. Damit kann ich dann auch die Zeilen ansehen, die unterhalb des Bildschirmrandes stehen sichtbar machen.

Da die Darstelleung der Ergebnisse aber automatisch erfolgen soll, das heißt ein Script wird gestartet und durchläuft sich selber ständig wieder. Dies erfolgt auf einem reinen Anzeigerechner. Somit habe ich zwischendurch keine Möglichkeit auf die unteren Ergebnisse zu scrollen.

Gibt es eine Möglichkeit, die Ansicht immer auf die unterste Zeile zu fokussieren, wenn diese normaler Weise außerhalb der Anzeigebereichs liegt?
 
Hi,

vielleicht hilft dir die hash-Eigenschaft weiter. Damit springst du einfach eine gewünschte ID an - entspricht den Ankern in HTML.
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
  <!--
window.onload = function(){
  window.location.hash = "lastLine";
}
 //-->
</script>
</head>
<body>
<div style="height: 3000px;">Höhe</div>
<div id="lastLine">Letzte Zeile</div>
</body>
</html>

Ciao
Quaese
 
Hi,

alternativ könntest du auch die scrollIntoView()-Methode nutzen:
HTML:
<html>
<head>
<title>tutorials.de | demo_Puma242</title>

<script type="text/javascript">
function Seitenende() {
  document.getElementById('lastLine').scrollIntoView(true);
}
window.onload=function(){
Seitenende();
}
</script>

</head>
<body>

<div style="height:3000px;">Höhe</div>

<div id="lastLine">Letzte Zeile</div>

</body>
</html>


mfg Maik
 
Moin,

da die Seite wohl kontinuiierlich "erweitert" wird, wäre auch das Scrollen in Zeitintervallen möglich:

Code:
<script type="text/javascript">
window.setTimeout('scrollBy(0,10000)',5000);
</script>

...würde alle 5 Sekunden um 10000px nach unten Scrollen(oder aber bis zum Seitenende, wenn die Seite weniger hoch ist)
 
Die von euch genannten Lösungen sind schon nicht schlecht, aber bei mir besteht noch folgendes Problem / folgende Anforderung.

Es gibt nicht nur eine letzte Zeile, sondern nach der Ausgabe jeder einzelnen Zeile ändert sich die letzte Zeile.

Zur besseren Veranschaulichung habe ich einmal eine Beispieldatenbank online gestellt.
Siehe unter http://www.sv-bothel.de/teiler2005/index.html

dann den Button "Kleinkaliber" -> "Ergebnis-Ausgabe" -> "Anzeigen". Wenn eurer Bildschirm auf große Schrift eingestellt ist, passen nicht alle ausgegebenen Zeilen in ein Fenster. Hiersollte dann der Anzeigebereich automatisch mit scrollen und die zuletzt ausgegebene Zeile anzeigen.
 
Ich habe nun den Code in mein Script integriert. DIe Zeitlichen Verzögerungen bei der Ausgabe der einzelnen Zeilen habe ich deaktiviert. Nun nerscheint die komplette Liste sofort. Ein Scrollen erfolgt aber nur einmal und nicht fortlaufend. Was muß ich ggf. noch ändern?

Hier der eingefügte Java-Code:

<script type="text/JavaScript">
window.setTimeout('scrollBy(0,100)',1000);
</script>
 
Nun habe ich es erst einmal so gelöst. Werde mal sehen, ob ich es noch mehr verfeinern muß.

Code:
<script type="text/javascript">
function NachUnten () {
  var y = 0;
  if (window.pageYOffset) {
    y = window.pageYOffset;
  } else if (document.body && document.body.scrollTop) {
    y = document.body.scrollTop;
  }
    window.scrollBy(0, 10);
    setTimeout("NachUnten()", 1000);
  }
</script>

</head>
<body onload="NachUnten()">

Allen Beteiligten danke für die Unterstützung.
 

Neue Beiträge

Zurück