代码之家  ›  专栏  ›  技术社区  ›  jgauffin

当最后一行在浏览器中可见时,如何将行追加到表中?

  •  3
  • jgauffin  · 技术社区  · 14 年前

    有些站点有表,当您滚动浏览器时,这些表会附加行,以便可以看到表的底部。

    我猜是这样的:

    1. jQuery检测到表的末尾在浏览器中可见
    2. $.getJSON 用于从服务器获取下一行
    3. 行被追加。

    问题:

    1. 是否有比$('#tableId tbody tr').length更好的方法来获取当前行数?
    1 回复  |  直到 8 年前
        1
  •  1
  •   lonesomeday    14 年前

    (1) 检测最后一行是否可见:

    $(window).scroll(function(){
        var $window = $(this),
            $el = $('#tableId tbody tr:last'),
    
            viewPaneTop = $window.scrollTop(),
            viewPaneBottom = viewPaneTop + $window.height(),
    
            elementTop = $el.offset().top,
            elementBottom = elementTop + $el.height();
    
        if ((elementTop >= viewPaneTop) && (elementBottom <= viewPaneBottom)) {
            // add new rows here
        }
    });
    

    (2) 这是确定行数的正确方法。

    推荐文章