Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Новый пейджинг от google. (https://javascript.ru/forum/misc/11497-novyjj-pejjdzhing-ot-google.html)

m00 26.08.2010 19:47

Новый пейджинг от google.
 
Всем привет.

Хочу сделать пейджинг как у google. Примеры можно посмотреть на персональной странице igoogle.

В чем фишка, вместо отображения нумерации страниц, каждый раз прокручивая страницу до конца, шлется ajax запрос и мы получаем новые данные с сервера ... и так продолжается пока не получим все данные (например список новостей).

Столкнулся с проблемой, что непонятно как определить, что домотал до конца страницы ... как определить когда скрол стукнется о нижнюю границу? (скрол у меня в диве).

Кто, что думает?

ixth 26.08.2010 19:56

Думаю, Вам надо рыть в сторону параметра scrollTop или ф-ции jQuery scrollTop. На одном из рабочих проектов сделано так (код не мой):
$(window).scroll(function(e) {
	if (results.height() - $(window).scrollTop() < $(window).height() * 1.5) {
		Бла-бла-бла, тут код.
	}
});

Kolyaj 26.08.2010 21:16

Цитата:

Сообщение от ixth
в сторону параметра scrollTop или ф-ции jQuery scrollTop

В jQuery даже для элементарного взятия значения у свойства есть плагин?

ixth 26.08.2010 23:54

Цитата:

Сообщение от Kolyaj (Сообщение 68782)
В jQuery даже для элементарного взятия значения у свойства есть плагин?

Вы бы видели как несуразно смотрится смесь кода на JQuery с pure js. Посему: да, есть и используется.

PeaceCoder 27.08.2010 01:04

Цитата:

Сообщение от ixth
Вы бы видели как несуразно смотрится смесь кода на JQuery с pure js. Посему: да, есть и используется.

Это же ирония была. для того что бы это сделать jQuery не нужен.

m00 27.08.2010 10:38

Получилось так ... делал под ff, для остальных пока не пробовал:
.onscroll = function() {
	if (obj.scrollHeight == (obj.scrollTop + obj.clientHeight))
		console.log('send async request');
};

Где, obj - это div со style="height: 500px; overflow: auto;".

Спасибо.


Часовой пояс GMT +3, время: 21:40.