【问题标题】:appendTo pushes window and scroll down?appendTo 推送窗口并向下滚动?
【发布时间】:2013-10-22 18:10:18
【问题描述】:

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

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

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

  1. 元素将添加到#item-list 之后
  2. 视口,窗口将保持在原来的位置。例如,如果 item-list 适合像
  3. 这样的窗口

项目1

项目2

项目3


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


项目1

项目2

项目3


项目7

项目8

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


项目3

项目7

项目8


现在这只发生在 Firefox 中!

有什么想法吗?什么?

非常感谢

【问题讨论】:

    标签: javascript jquery firefox


    【解决方案1】:

    试试这个:

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

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

    【讨论】:

    • 你就是那个男人。该方法有效!我必须将您应用 scrollTop 的选择器更改为整个 html 标记,以便它成为浏览器的滚动条(特定项目的scrollTop 属于内部滚动条。所以现在它看起来像:var scroll = $("html").scrollTop(); $('#incoming-items').appendTo($('#item-list')); $('html').scrollTop(scroll); 它有效!
    • 啊,出于某种原因,我认为您有一个带有内部滚动条的固定高度 div。那行得通 :) 很高兴能帮上忙!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 2015-08-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 2018-08-02
    相关资源
    最近更新 更多