Я хочу реализовать бесконечную прокрутку (с загрузчиком на основе AJAX) в теле таблицы HTML.
Мой 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;
}
Чтобы иметь возможность что-либо делать, когда пользователь прокручивает страницу вниз, мне нужно иметь возможность получить позицию прокрутки <tbody>
.Во всех (jQuery) реализациях бесконечной прокрутки, которые я видел (, таких как эта ), они вычитают высоту содержимого из высоты контейнера и сравнивают ее со значением .scrollTop ().
К сожалению, это может не работать с <tbody>
, который является одновременно и окном просмотра и контейнером для прокручиваемого содержимого.$("tbody").height()
возвращает видимый (то есть "уменьшенный") размер, но я не знаю, как получить полный (видимый + скрытый) размер тела таблицы.(FWIW, $("tbody").scrollTop()
возвращает «большое» число при прокрутке вниз, именно так, как я и ожидал).
Есть ли способ сделать это?