代码之家  ›  专栏  ›  技术社区  ›  Craig Walker

在表体中滚动位置

  •  0
  • Craig Walker  · 技术社区  · 16 年前

    我的HTML如下所示:

    <table>
      <thead>
        <tr><th>Column</th></tr>
      </thead>
      <tbody>
        <tr><td>Row 1</td></tr>
        <tr><td>Row 2</td></tr>
      </tbody>
    </table>
    

    <tbody> 像这样:

    tbody {
      height:10em; /* Otherwise the tbody expands to fit all rows */
      overflow:auto;
    }
    

    为了能够在用户滚动到底部时执行任何操作,我需要能够获得 < . 在我见过的所有(jQuery)无限滚动实现中( such as this one ),它们从容器高度中减去内容高度,并将其与.scrollTop()值进行比较。

    不幸的是,这可能不适用于 <t车身> ,这是两个视口 滚动内容的容器。 $("tbody").height() 返回可查看(即:“收缩”)的大小,但我不知道如何获得表体的完整(可查看+隐藏)大小(不管好坏 $("tbody").scrollTop() 当滚动到底部时返回一个“大”数字,与我期望的完全一样)。

    2 回复  |  直到 16 年前
        1
  •  1
  •   user69173 user69173    15 年前

    tbody.scrollHeight 对我有用。

        2
  •  1
  •   mVChr    16 年前

    var $tbody = $('tbody');
    var initTbodyHeight = $tbody.height();
    $tbody.css('height','auto');
    var autoTbodyHeight = $tbody.height();
    $tbody.css('height',initTbodyHeight);
    

    即使是IE也应该处理得足够快,而不会有任何肉眼可见的闪烁。

    推荐文章