Я добавляю данные не в один div
. Но когда я добавляю данные, моя позиция фокуса или прокрутки находится между добавлением содержимого. Фактически я добавляю данные, когда пользователь прокручивает вниз. Но когда я сохраняю изображения Google, он загружает некоторые изображения, а затем, когда пользователь переходит к последним строкам, он загружает больше изображений, не изменяя положение прокрутки.
Можем ли мы сделать в моем примере http://jsfiddle.net/cQ75J/10/
var pages = [page_1, page_2, page_3, page_4, page_5];
var backupPages=new Array();
var totalPage = "page_" + pages.length;
$("#current").html(pages.pop());
$("#fullContainer").scroll(function () {
if ($(this).scrollTop() >= $(this)[0].scrollHeight - document.body.offsetHeight && pages.length) {
// alert("--")
$("#next").html('')
$("#pre").html('')
$("#pre").html($("#current").html());
$("#current").html('');
$(this).scrollTop(
$("#current").html(pages.pop())
.appendTo($("#fullContainer"))
.height()
);
}
});
У меня есть один пример, в котором мне нужна такая же позиция прокрутки после добавления. Но он создает новый div
в текущем div
. Мне нужны новые данные в текущем (id) div
а текущие данные идут на предыдущий (id) div http://jsfiddle.net/hBvrA/
проверьте обновленную скрипту: http://jsfiddle.net/hBvrA/1/
Я создал функцию для обновления html-структуры
function updateContents() {
$("#pre").html($("#pre").html() + $("#current").html());
$("#current").html("<div>" + pages.pop() + "</div>");
$("#fullContainer").scrollTop($("#pre").height());
}
и вызывается в событии прокрутки с механизмом таймера ожидания:
var timerWait = 1000;
var timerFlag = false;
$("#fullContainer").scroll(function () {
if ($(this).scrollTop() >= $(this)[0].scrollHeight - document.body.offsetHeight && pages.length) {
// Clear timer
clearTimeout(timerFlag);
timerFlag = setTimeout(function() {
updateContents();
}, timerWait);
}
});