2010-07-13 3 views
15

ho un div con altezza: 100px e overflow: auto il contenuto è dinamico.ottieni altezza per un div con overflow: auto;

voglio far scorrere il div nel fondo

ho provato con

$("#chat_content").scrollTop($("#chat_content").height()); 

ma se il contenuto è più grande di 100px $ ("# chat_content"). Altezza() restituisce 100 e la div non è scostato sul fondo

come posso fare?

grazie

+0

Potrebbe essere la s problema come - http://stackoverflow.com/questions/2522579/how-do-i-get-the-real-height-of-a-overflow-hidden-or-overflow-scroll-div –

+0

Vedi [http: //stackoverflow.com/questions/2530829/auto-scroll-to-bottom-when-overflow-auto](http://stackoverflow.com/questions/2530829/auto-scroll-to-bottom-when-overflow-auto) – Castrohenge

risposta

29

Prendi la proprietà scrollHeight dall'elemento DOM sottostante:

$("#chat_content").scrollTop($("#chat_content").get(0).scrollHeight); 
+10

+1 per scrollHeight! :) Nota a margine: usare '$() [0]' è più veloce di '$(). Get (0)' –

6

cercano $("#chat_content").scrollTop($("#chat_content").get(0).scrollHeight);

0

Un altro modo è quello di avvolgere solo il contenuto interno in un div e poi basta cambiare il tuo " chiamata "altezza" a

$("#chat_content").scrollTop($("#chat_content div").height());