0

我正在构建一个列,其中将动态内容附加到列的顶部,类似于 TweetDeck 的样式。

现在,如果我将 div 向下滚动一半以查看内容,添加到顶部的内容会导致 div 从滚动位置跳转,如果将大量内容添加到柱子。

有谁知道 CSS 或 jQuery 保持用户所在位置的方法,但仍允许将内容添加到顶部?

抱歉,我无法提供 JS Fiddle,数据位于开发环境中

更新 - 示例 HTML 标记

<div class="results" id="results9016">
  <article>
    <img alt="Dave" src="normal.jpg">
    <div class="data">
      <p class="user"><a target="_blank" href="#">dave</a></p>
      <p class="message">Message</p><p class="datetime">24 Apr 17:16:23</p></div>
  </article>
  <article>
    <img alt="Dave" src="normal.jpg">
    <div class="data">
      <p class="user"><a target="_blank" href="#">dave</a></p>
      <p class="message">Message</p><p class="datetime">24 Apr 17:16:23</p></div>
  </article>
  <article>
    <img alt="Dave" src="normal.jpg">
    <div class="data">
      <p class="user"><a target="_blank" href="#">dave</a></p>
      <p class="message">Message</p><p class="datetime">24 Apr 17:16:23</p></div>
  </article>
</div>

每个文章元素都使用 jQuery .prepend(); 添加。

提前致谢

4

1 回答 1

1

尝试在 prepend 之前缓存文档的滚动位置并在之后立即重置它:

var addTweet = function() {
    var scrollPosition = $(document).scrollTop();
    $('#results9016').prepend($newTweet);
    $('html, body').scrollTop(scrollPosition);
}

这是它在行动中的一个小技巧。注意:根据您的代码,您可能希望滚动容器而不是整个文档。

于 2013-04-24T16:33:06.710 回答