C# 如何在向下滚动时更新当前页面,并将某些像素保留到页面末尾?

C# 如何在向下滚动时更新当前页面,并将某些像素保留到页面末尾?,c#,jquery,.net,multithreading,scroll,C#,Jquery,.net,Multithreading,Scroll,如何在向下滚动时更新当前页面,并将某些像素保留到页面末尾 假设每个人都知道Facebook目前使用的功能。一旦我登录,我可以看到一定数量的记录作为通知或新闻..等等。。它必须是在html标记页中拆分结果集的机制。。但如果用户有1000000条记录。。。获取此数量的记录并将其拆分到某些页面中肯定会影响性能。。那么如何在性能上下文中处理这个问题。跟踪滚动位置 简言之:使用jquery,您可以订阅滚动事件,当您距离底部X像素时,开始加载新的数据部分。 在服务器上,您必须有一个脚本或方法,根据传递的参数

如何在向下滚动时更新当前页面,并将某些像素保留到页面末尾

假设每个人都知道Facebook目前使用的功能。一旦我登录,我可以看到一定数量的记录作为通知或新闻..等等。。它必须是在html标记页中拆分结果集的机制。。但如果用户有1000000条记录。。。获取此数量的记录并将其拆分到某些页面中肯定会影响性能。。那么如何在性能上下文中处理这个问题。

跟踪滚动位置

简言之:使用jquery,您可以订阅滚动事件,当您距离底部X像素时,开始加载新的数据部分。 在服务器上,您必须有一个脚本或方法,根据传递的参数为您提供下一页数据

这是我当前项目的一段代码。这是咖啡剧本,但我希望你能明白

subscribeToScrollEvents = () ->
  VK.addCallback 'onScroll', (scrollTop, windowHeight) ->
    # check if we have to load new portion of data
    if !window.app.isAutoloading && scrollTop + 250 >= $(document).height() - windowHeight
      # take 'write-lock'
      window.app.isAutoloading = true
      window.app.scrollMore()

window.app.scrollMore = () ->
    # find out how much we already loaded
    offset = $('#history_events').find('.history_row').length
    $.get '/history/more',
      offset: offset,
      section: $('.history_section.selected').attr('id')
      (data) ->
        if data == ''
            # do nothing
        else
          # release lock
          window.app.isAutoloading = false

          # process data
          $('#history_events').append(data);
          window.app.highlight_profiles();

您需要执行以下操作:

var loadingNewContent = false;

$(window).scroll(function() {

  var remaining = $(document).height() - $(window).scrollTop();

  // lets say you want to load newer content once only 50 more pixels remain to be scrolled
  if(remaining <= 50 && loadingNewContent == false) {

    // set loading flag as true
    loadingNewContent = true;

    // load new content and append to body/container etc..
    $.get('/server/newcontent', function(data) {

       // append new content to body/container etc.

       // reset flag
       loadingNewContent = false;

    });
    */

  }

});
var loadingNewContent=false;
$(窗口)。滚动(函数(){
var剩余=$(文档).height()-$(窗口).scrollTop();
//假设您想加载一次更新的内容,只需再滚动50个像素

如果(剩余),请编辑标题以更好地反映您的要求。