1

我正在使用 appendTo 将一组选定元素添加到某个 DOM 元素:

$('#incoming-items').appendTo($('#item-list'));

(#incoming products 是 Ajax 调用收到的项目的占位符。我的期望是:

  1. 元素将在#item-list 之后添加
  2. 视口,窗口将保持在以前的位置。例如,如果项目列表适合窗口内

项目1

项目2

第 3 项


传入的项目 item7、item8 应该(并且通常)保持这样并添加到视口下方:


项目1

项目2

第 3 项


第 7 项

第8项

但是:有时会发生什么(特别是当滚动条位于底部时)是显示 item7 和 8(并且 item1, 2 被向上推):


第 3 项

第 7 项

第8项


现在这只发生在 Firefox 中!

有任何想法吗?某物?

非常感谢

4

1 回答 1

1

尝试这个:

var scroll = $('#incoming_items').scrollTop();    
$('#incoming-items').appendTo($('#item-list'));
$('#incoming_items').scrollTop(scroll);

它将存储当前滚动位置(以像素为单位)并跳回到它,无论底层 div 发生什么。

于 2013-10-22T18:13:43.110 回答