Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > определить момент максимальной прокрутки DIV'a


Автор: jone31 16.2.2013, 00:04
на странице есть DIV с прокруткой.
в него по ajax периодически подгружаются данные...
структура такая:
Код

<div style="width:300; overflow:auto;">
<p>данные 1</p>
<p>данные 2</p>
<p>данные 3</p>
</div>

но вот один трабл мешает: если я читаю запись где то в середине div'a то при ajax добавлении div скроллит в самый низ... 

этот трабл планирую устранить так:
Код

if( div.scrollTop() == max_scroll_top ){ div.scrollTop(99999); } else { /* ничего не делать */ }

т.е. если див прокручен мной до конца, то при добавлении новых записей автоскрол вниз... иначе ничего не делать.

но вот не пойму как высчитывается max_scroll_top у div'a ?

Автор: ksnk 16.2.2013, 09:08
scrollTop + height == scrollHeight

Вероятно, будет определенная броузерозависимость по размерам паддингов и возможных  горизонтальных скроллеров, так что на 20 `недокрученных` пикселей можно, imho, наплевать

что-то вроде
Код

if( div.scrollTop >  div.scrollHeight-$(div).height -20){ // просматриваем последнюю запись.

Автор: jone31 16.2.2013, 17:19
Цитата(ksnk @  16.2.2013,  09:08 Найти цитируемый пост)
if( div.scrollTop >  div.scrollHeight-$(div).height -20){ // просматриваем последнюю запись.


ksnk спасибо, почти как надо работает... с кросбразерностью нужно ещё поиграть... ))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)