Ich habe ein Div auf meiner Seite:
<div id='div1' style='overflow:scroll;overflow-x:hidden;max-height:200px;'></div>
Wie kann ich das Div zum Ende des Div scrollen lassen? Nicht die Seite, nur der DIV.
Die anderen Lösungen hier funktionieren nicht für Divs mit viel Inhalt - sie "maximal" scrollen bis zur Höhe des Div (anstelle der Höhe des Inhalts des Div). Sie funktionieren also, es sei denn, Sie haben mehr als die doppelte Höhe des Inhalts des Divs darin.
Hier ist die richtige Version:
$('#div1').scrollTop($('#div1')[0].scrollHeight);
oder jQuery 1.6+ Version:
var d = $('#div1');
d.scrollTop(d.prop("scrollHeight"));
Oder animiert:
$("#div1").animate({ scrollTop: $('#div1').prop("scrollHeight")}, 1000);
div1
?d = $('#div1'); $(d).scrollTop( $(d).prop("scrollHeight") );
Alle Antworten, die ich hier sehen kann, einschließlich der derzeit "akzeptierten", sind tatsächlich falsch, da sie Folgendes festlegen:
Der richtige Ansatz besteht darin, Folgendes festzulegen:
Mit anderen Worten:
Oder animiert:
quelle
UPDATE: Eine vollständige Antwort finden Sie in der Lösung von Mike Todd .
wenn Sie möchten, dass es animiert wird (über 1000 Millisekunden).
wenn du es sofort willst.
quelle
Dadurch wird die Höhe der Seite erfasst und nach dem Laden des Fensters nach unten gescrollt. Ändern Sie das
1000
, was Sie brauchen, um es schneller / langsamer zu machen, sobald die Seite fertig ist.quelle
Versuche dies:
quelle
Scrollen Sie zum unteren Rand des Zieldiv.
quelle
Folgendes wird funktionieren. Bitte beachten Sie
[0]
undscrollHeight
quelle
zum animieren in jquery (version> 2.0)
quelle
Keines davon hat bei mir funktioniert. Ich habe ein Nachrichtensystem in einer Web-App, das dem Facebook-Messenger ähnelt, und wollte, dass die Nachrichten am unteren Rand eines Divs angezeigt werden.
Dies war ein Vergnügen, einfaches Javascript.
quelle
Ich arbeite in einer alten Codebasis und versuche, nach Vue zu migrieren.
In meiner speziellen Situation (scrollbares Div in einem Bootstrap-Modal) zeigte ein v-if neuen Inhalt an, zu dem die Seite nach unten scrollen sollte. Damit dieses Verhalten funktioniert, musste ich warten, bis vue das erneute Rendern abgeschlossen hatte, und dann mit jQuery zum Ende des Modals scrollen.
So...
quelle
Sie können den folgenden Code verwenden, um beim Laden der Seite zum Ende von div zu scrollen.
quelle
Sie können scrollHeight und clientHeight mit scrollTop überprüfen, um zum unteren Rand des div-Codes zu scrollen.
quelle
Wenn die Seite geladen ist, ist der Bildlauf der Maximalwert.
Dies ist das Meldungsfeld, wenn der Benutzer eine Nachricht sendet und dann immer den neuesten Chat nach unten anzeigt, sodass der Bildlaufwert immer maximal ist.
siehe Bild
quelle