reload & scollen ohne zucken

fanste

Erfahrenes Mitglied
Hallo.

Wie kann ich eine Seite Reloaden und nach dem reload die Seite ans Ende Scrollen, ohne das es bei mehrern Einträgen zuckt
Die Einträge kommen aus einer Datenbank. Und wenn es so viele Einträge sind, dass die Seite gescrollt werden muss, beginnt sie mit meiner Methode immer zu zucken.
Kann man das irgendwie verhindern

mb fanste
 
Hallo.

Erstmal Danke für die schnell Antwort.


Also meine Methode ist:

Reload:
Code:
<script type="text/javascript">
function load(){
document.location.href='Ausgabe.php';
}
</script>

Diese Funktion steht am Anfang der Seite ruf ich dann am Ende der Seite mit
Code:
<script type="text/Javascript">
setTimeout('load()',4000);
</script>
auf.

Scrollen:
Code:
<script type="text/javascript">
function scroller(){
window.scrollTo(0,5000000);
}
</script>
Diese Funktion steht ebenfalls am Anfang und wir mit onload aufgerufen.

Siehst du da eine andere Methode
 
Tut mir leid, ich kann mir noch nicht wirklich dieses Zucken vorstellen. Wenn's wenige Einträge sind kommt das "Zucken" nicht, wenns aber viele sind schon? Klingt irgentwie komisch. Kannst du das nochmal genauer mit Beispiel beschreiben. Vielleicht steh ich auch auf der Leitung und du musst einfach mittels eines asymptotischen algoritmusses scrollen...
 
Also:
Wenn auf der Seite nur so viel angezeigt wird, dass keine Scrollleiste benötigt wird, dann ist das zucken nicht vorhanden, da ja nicht gescrollt werden muss.
Wenn es aber so viele Einträge sind , dass eine Scrollleiste benötigt wird und die Seite dann neu läd, ist immer so ein zucken im Text, weil die Seite nach dem Reloaden ja wieder ganz oben ist und erst wieder runtergescrollt werden muss.

war das jetzt verständlicher
 
Ja, sorry, war einfach nur schwer von Begriff.

Du könntest die Sache entweder rein mit HTML über Anker machen.

Oder benutzt besagt asymptotische Funktion zum scrollen. Dann scrollt es relativ "organisch" von oben nach unten und sieht zumindest schöner aus.

Sonst fällt mir leider keine Bessere Lösung ein
 
Erstmal Danke.
Vll hab ich mich auch noch ein bisschen falsch ausgedrückt. Ich meine dass mit dem Scrollen so.
Man soll das Scrollen garnicht sehen. Wenn die Seite Reloaded wurde, soll man einfach nur am Ende der Seite sein.

Geht das auch mit dem asymptotischen algoritmusses?
Wenn wir schon dabei sind: Was ist das überhaupt :D

mb fanste
 
Dann hab ich danoch eine Frage. Weiß nicht ob sie hierher gehört.

Kann ich etwas, was ich aus einer MYSQL Datenbank ausgelesen habe via Javascript an eine andere Seite schicken, um es dann dort auszugeben

Also:
Ich hole etwas aus der Datenbank, übergebe es dann an eine andere Seite in der ich einen Bereich definiert habe (oder wie man das auch net). der bereich ist so definiert: <span id="output"></span> .
und das soll via Javascript geschehen. oder gibts da vll eine besser möglichkeit

mb fanste
 
Okay, jetzt haben wir das Problem endlich.

Kommen wir zuerst zu dem unwichtigen (=> wenn's dich nicht interessiert überlies die nächsten zwei Absätze). Unwichtig deshalb weil du's nicht gebrauchen kannst: Der asymptotische Algorithmus. Villeicht kennst du aus der Schule noch asymptotische Funktionen. Die nähern sich zuerst schnell, dann langsam einer Geraden an, berühren diese aber nicht. So ein Algorithmus würde bewirken, dass man nicht mit einem Mal ans Ende der Seite scrollt, sondern in einer fließenden Bewegung, das zucken wäre also quasi weg. Aber die Methode willst ja nicht, hättest ja lieber, dass es einfach ohne irgentwas da ist, richtig?

Die einfachste Möglichkeit wäre natürlich mit JS die Daten aus der Datenbank zu holen, wie du schon sagtest. Problem dabei ist, dass JS als client-seitige Sprache nicht auf Serverdaten zugreifen kann. Geht technisch einfach nicht.

Es gibt aber trotzdem eine Möglichkeit (danke an Sven, der mir die Augen geöffnet hat), wie du die Daten laden kannst, ohne die Seite zu reloaden. Ich nehme jetzt einfach an, du benutzt als serverseitige Sprache PHP. Mach einfach ein PHP-script, dass die aktuellen Daten bei Aufruf in ein js-Script schreibt. Dieses serverseitig erzeugte js-Script lädst du dann so immer wieder ohne die Seite zu reloden und kannst dann auf die daten im js-script zugreifen:
HTML:
function aktualisieren() {
     skript=document.createElement('SCRIPT');
     skript.setAttribute('src','http://www.lalala.de/script.js.php?'+new Date().getTime());
     document.getElementsByTagName('BODY')[0].appendChild(skript);
     }
Ich würde PHP-seitig einfach ein JS-Array mit den ganzen Beiträgen schreiben und dann die einzelnen Array-Elemente in einer for-Schleife mit innerHTML oder einer ähnlichen Methode in das Dokument schreiben. Gib aber der "aktualisieren()" funktion ein wenig Zeit um das PHP-JS-Script zu laden.
 
Zuletzt bearbeitet:
Hallo.
Also erst mal ein GANZ GROßES DANKESCHÖN, dass dass Problem so schnell gelöst werden konnte.

Wie kann ich das aus der Dantenbank in ein Javascript schreiben Könntest du mir da ein Beispiel geben. Brauchst nicht sekber eines schreiben. Ein Link, wo soetwas erklärt wird reicht.
Funktioniert diese Methode auch, wenn neue beiträge hinzukommen, sprich, werden diese dann auch gleich oder mit geringer Verzögerung (ca 3-4 sec) mit den alten Beiträgen angezeigt

mb fanste

PS. Nochmal Danke!
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück