У вас есть div элемент с id = content. В нем хранятся сообщения чата. При этом этот div имеет определенную высоту и скролл бар справа (можно считать что это маленькое окошко с возможностью скролла (overflow-y: scroll)) Дело в том, что в чате может быть очень много сообщений и загружать их все сразу нет необходимости. Ваш босс приказал сделать ленивую загрузку сообщений таким образом:
Когда пользователь делает скролл вверх и до конца остается 100px необходимо загрузить новые сообщения. Как это сделать, если у вас имеется функция на загрузку следующих сообщений?
Оказалось, что при загрузке новых сообщений вас резко перемещает вверх (то есть перемещает на прежние 100px от начала) Вашему боссу это не понравилось и он добавил:
Когда заружаются новые сообщения необходимо чтобы пользователь оставался на прежнем месте.
При этом вы не знаете сколько сообщений именно загрузится (возможно вы уже в конце чата)
Вариант решения:
Первая часть
Полный исходникВторая часть
Полный исходникЕсли у вас другое, то пишите. Интересно, сколькими способами это можно сделать?