1

appendTo を使用して、選択した要素のセットを特定の DOM 要素に追加しています。

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

(#incoming products は、Ajax 呼び出しによって受信されたアイテムのプレースホルダーです。私の期待は次のとおりです。

  1. 要素は #item-list の後に追加されます
  2. ビューポート、ウィンドウは以前の位置に保持されます。たとえば、 item-list が次のようにウィンドウ内に収まる場合

アイテム1

アイテム2

アイテム3


着信アイテム item7、item8 は (通常は) このように保持し、ビューポートの下に追加する必要があります。


アイテム1

アイテム2

アイテム3


アイテム7

item8

BUT: 時々起こること (特にスクロールバーが一番下にあるとき) は、item7 と 8 が代わりに表示されることです (そして item1, 2 が押し上げられます):


アイテム3

アイテム7

item8


これは 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 に答える