Mam div na mojej stronie:
<div id='div1' style='overflow:scroll;overflow-x:hidden;max-height:200px;'></div>
Jak mogę sprawić, aby div przewinął na dół div? Nie strona, tylko DIV.
Inne rozwiązania tutaj nie działają w rzeczywistości dla div z dużą ilością treści - „maksymalizuje” przewijanie w dół do wysokości div (zamiast wysokości zawartości div). Więc będą działać, chyba że masz w nim więcej niż dwukrotną wysokość div.
Oto poprawna wersja:
$('#div1').scrollTop($('#div1')[0].scrollHeight);
lub wersja jQuery 1.6+:
var d = $('#div1');
d.scrollTop(d.prop("scrollHeight"));
Lub animowane:
$("#div1").animate({ scrollTop: $('#div1').prop("scrollHeight")}, 1000);
div1
?d = $('#div1'); $(d).scrollTop( $(d).prop("scrollHeight") );
Wszystkie odpowiedzi, które tu widzę, w tym obecnie „zaakceptowana”, są w rzeczywistości błędne, ponieważ ustawiają:
Prawidłowe podejście polega na ustawieniu:
Innymi słowy:
Lub animowane:
źródło
AKTUALIZACJA: zobacz rozwiązanie Mike'a Todda, aby uzyskać pełną odpowiedź.
jeśli chcesz, aby był animowany (ponad 1000 milisekund).
jeśli chcesz to natychmiast.
źródło
Pobiera to wysokość strony i przewija ją w dół po załadowaniu okna. Zmień na
1000
wszystko, czego potrzebujesz, aby zrobić to szybciej / wolniej, gdy strona będzie gotowa.źródło
Spróbuj tego:
źródło
Przewiń okno do dolnej części docelowego div.
źródło
Następujące będą działać. Uwaga
[0]
iscrollHeight
źródło
dla animacji w jquery (wersja> 2.0)
źródło
Żaden z nich nie działał dla mnie, mam system wiadomości wewnątrz aplikacji internetowej podobny do komunikatora Facebooka i chciałem, aby wiadomości pojawiały się na dole div.
To zadziałało, podstawowy Javascript.
źródło
Pracuję w starej bazie kodu, próbując przeprowadzić migrację do Vue.
W mojej konkretnej sytuacji (przewijalny div zawinięty w modal bootstrap), v-if pokazało nową zawartość, do której chciałbym przewinąć stronę w dół. Aby to zachowanie zadziałało, musiałem poczekać, aż vue zakończy ponowne renderowanie, a następnie użyj jQuery, aby przewinąć do dolnej części modalu.
Więc...
źródło
Możesz użyć poniższego kodu, aby przewinąć do dołu div przy ładowaniu strony.
źródło
Możesz sprawdzić scrollHeight i clientHeight za pomocą scrollTop, aby przewinąć do dołu div jak kod poniżej.
źródło
Po załadowaniu strony przewijanie ma maksymalną wartość.
To jest okno komunikatu, gdy użytkownik wysyła wiadomość, a następnie zawsze pokazuje ostatni czat w dół, aby wartość przewijania była zawsze maksymalna.
patrz zdjęcie
źródło