Пусть имеет следующую структуру HTML:
<div class="items">
<div class="item" style="position: absolute; left: Apx; top: Bpx;">...</div>
...
</div>
Я использую на этой странице также бесконечную разбивку на страницы, поэтому, когда я нажимаю кнопку "Загрузить еще", она называется этим действием JS:
$ ('. items'). append (... новые данные, описанные в разделе ".item" div...);
Данные загружаются, но они отображаются в верхней части .items div => "старые" данные (.item divs) перекрываются новыми. Конечно, я хотел бы отображать новые данные, завернутые снова в .item divs ниже предыдущих (с положением: absolute;), но как это сделать?
спасибо
Если я правильно понимаю, тогда я бы рекомендовал вам сделать .items
div частью, которая абсолютно позиционирована, в то время как вы делаете элементы .item
относительно расположенными внутри нее. Это должно помочь им правильно стекать, когда добавляется больше, сохраняя позицию.
Другим вариантом было бы добавить div вокруг этих элементов, чтобы выровнять их.
Поскольку вы добавляете новые divs динамически, вы можете установить их верхнее смещение динамически, что-то вроде этого:
var topValue = $('.items').position().top + $('.items').outerHeight(true) + 'px';
var newDiv = ... // Populate your new div, setting the "top: Bpx" value to topValue
$('.items').append(newDiv);