• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Scroll down

Hallo ich habe ein Problem
ich habe ein Web Chat Programmiert, wo der Inhalt mit Jquery in ein div reingeladen wird.
Mein Problem ist das das der Chat automatisch nach unten Scrollen soll wenn eine Nachricht dazu kommt aber man soll auch Manuel nach oben Scrollen können. Um z.b sich denn Chat nochmal durch zu lesen. Ich habe schon sehr viel recherchiert und bin planlos. ich hoffe ihr könnt mir helfen.

LG Christoph
 
Werbung:
Denke mal das du den Inhalt mit Ajax holen tust?
Wenn was neues da ist scrollst du mit JS nach unten.
Wenn nix neues da ist machst du natürlich gar nix damit die Scrollhöhe so bleibt wie der User es gerade hat.

Was macht man wenn ich als User hoch scrolle um den Verlauf zu lesen und nicht möchte das er gerade dann Scrollt ?
Zb. eine höhe festsetzen.
Sobald der User hoch scrollen tut ( zb 100vh ) ,das automatische runterscrollen deaktivieren.
Scrollt der User wieder runter ( innerhalb den 100vh ) wird das auto scrollen wieder aktiviert.

Das wäre jetzt meine Idee
 
Werbung:
Ich vermute du scrollst aktuell generell nach unten, egal ob etwas im Chat kam oder nicht? Das musst Du entfernen. Statt dessen ergänzt Du das Scrollen nach unten im Callback des AJAX-Requests.

Wenn Du genauere Tipps haben willst, zeig den Quellcode an dem Du aktuell arbeitest.
 
das ist der JavaScript teil:

Javascript:
var ladechat  = new XMLHttpRequest();

setInterval(function () {

    if (Vchatload == "no") { return; }

    ladechat.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var ruck = ladechat.responseText;
            document.getElementById('log').innerHTML = ruck;
        }
    };
    ladechat.open("GET", "chatladen.php?chatdatei="+Vchatauswahl, true);
    ladechat.send();
},500);

und das der php teil:

PHP:
    session_start();
    $user = $_SESSION['user'];
    $chatdatei = $_GET['chatdatei'];
   
    $chatdatei = $chatdatei . ".txt";

    $chatlog = file_get_contents("../User/".$user."/chats/".$chatdatei);
    echo $chatlog;
 
Zuletzt bearbeitet:
Zurück
Oben