Scrollt automatisch nach unten div

8

Ich habe diesen Code, um den Chat zu laden

%Vor%

Was muss ich hinzufügen, um automatisch #demand beim Laden der Seite und bei jedem neuen Chat-Post nach unten zu scrollen?

Dies funktioniert nicht:

%Vor%     
Adam Výborný 26.08.2014, 12:24
quelle

9 Antworten

18

Sehen wir uns einige nützliche Konzepte zum ersten Bildlauf an:

Wann sollten Sie scrollen?

  • Benutzer hat Nachrichten zum ersten Mal geladen.
  • Neue Nachrichten sind angekommen, und Sie befinden sich am Ende des Bildlaufs (Sie möchten den Bildlauf nicht erzwingen, wenn der Benutzer nach oben scrollt, um vorherige Nachrichten zu lesen).

Programmatisch heißt das:

%Vor%

Vollständiger Chat-Simulator (mit JavaScript):

Ссылка

%Vor% %Vor% %Vor%
    
zurfyx 17.12.2016, 19:45
quelle
7

Es ist schwer zu sagen, ohne den HTML-Code zu kennen, aber ich nehme an, Ihr div hat keine Höhe und / oder lässt keinen Überlauf zu (z. B. durch CSS height: 200px; overflow: auto ).

Ich habe ein funktionierendes Beispiel für jsfiddle gemacht: Ссылка

Ich habe ein Dummy-HTML-Markup in einem div erstellt, das a) überläuft und b) eine festgelegte Höhe hat. Das Scrollen erfolgt durch Aufruf der Funktion

%Vor%

, in diesem Fall einmal auf 'documentReady'.

prop('scrollHeight') greift auf den Wert der Eigenschaft für das erste Element in der Menge übereinstimmender Elemente zu.

    
UweB 26.08.2014 12:48
quelle
2

Was Sie tun müssen, ist es in zwei Divs zu teilen. Eine mit Überlauf zum Blättern und eine innere zum Speichern des Textes, so dass Sie die Größe erreichen können.

%Vor%

Sie können hier ein Spiel ausprobieren: Ссылка

Offensichtlich wollen Sie nicht jedes Mal den ganzen Text div neu erstellen, also nehmen Sie das mit einem Körnchen Salz - nur ein Beispiel.

    
aqez 26.08.2014 12:59
quelle
1

Müssen Sie nicht jquery und Javascript mischen. Verwenden Sie so,

%Vor%

Fügen Sie die Methode scrollTop() in get() ein.

Sie haben auch einen Parameter im Methodenaufruf getMessage verpasst.

    
Anoop Joshi 26.08.2014 12:29
quelle
1

es hat für mich funktioniert, versuche das, lassen Sie mich wissen, wenn irgendwelche Zweifel,

%Vor%     
Shaik Matheen 05.03.2016 18:15
quelle
1
%Vor%

das sollte funktionieren

    
iErcan 26.10.2017 19:20
quelle
1

Fügen Sie nach dem Hinzufügen in JQuery einfach diese Zeile

hinzu %Vor%     
Govan 01.02.2018 17:54
quelle
0

Ich habe diese sehr einfache Methode beim Experimentieren herausgefunden: Setze scrollTo auf die Höhe des div.

%Vor%     
Cubetastic 26.10.2017 16:01
quelle
0

Wenn Sie nur scrollhöhen, wird es ein Problem machen, wenn der Benutzer seine vorherige Nachricht sehen will. also musst du etwas machen dass wenn neue nachrichten kommen dann nur der code. Verwenden Sie die neueste Version von jquery. Hier habe ich die Höhe vor dem Laden der Nachricht überprüft. 2. Überprüfen Sie erneut die neue Höhe. 3. wenn die Höhe nur zu dieser Zeit anders ist, wird es scrollen, andernfalls wird es nicht scrollen. 4. nicht in der if-Bedingung können Sie jeden Klingelton oder jede andere Funktion, die Sie benötigen, setzen. Das wird gespielt, wenn eine neue Nachricht kommt. Danke

%Vor%     
Sayed Khan Prince 09.04.2018 02:23
quelle

Tags und Links