определить момент максимальной прокрутки DIV'a

 
0
 
JavaScript
ava
jone31 | 16.02.2013, 01: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 ?
Ответы (2)
ava
ksnk | 16.02.2013, 09:08 #
scrollTop + height == scrollHeight

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

что-то вроде

if( div.scrollTop >  div.scrollHeight-$(div).height -20){ // просматриваем последнюю запись.
ava
jone31 | 16.02.2013, 17:19 #
Цитата (ksnk @  16.2.2013,  09:08 findReferencedText)
if( div.scrollTop >  div.scrollHeight-$(div).height -20){ // просматриваем последнюю запись.


ksnk спасибо, почти как надо работает... с кросбразерностью нужно ещё поиграть... ))
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
  ksnk   jone31
advanced
Отправить