У меня есть прокручиваемая таблица в HTML, которая часто обновляется (примерно один раз в секунду) и может содержать более 1000 строк. Очевидно, что заменить всю таблицу каждый раз, когда она обновляется, нецелесообразно, поэтому я хочу просто заменить строки таблицы, которые в настоящее время видны.Получить все элементы HTML, прокрученные в поле зрения
Моя первая попытка состояла в том, чтобы просто проверить итерацию по всем строкам и проверить их смещения; это работает, но слишком медленно, чтобы быть эффективным.
То, что я пытаюсь сделать теперь использовать document.elementFromPoint()
найти верхний элемент возвышаться в <tbody>
, который, как правило <td>
элемент, где я могу получить его, содержащую <tr>
. Это почти работает, за исключением случая, когда сама таблица закрывается другим элементом (например, плавающим лайтбокс).
В настоящее время я ищу либо третье решение, либо способ получить все элементы под определенной точкой, а не только самую верхнюю. Если кто-нибудь знает, как выполнить любой из этих, это было бы высоко оценено.
Почему бы вам не разбивать страницы на строки? –
Это пришло мне в голову, но для пользователей не так приятно, что нужно менять страницы, а не просто прокрутку - та же самая причина, почему популярна техника бесконечного прокрутки. – sslepian
Я не знаю, используете ли вы/готовы использовать jQuery, но [этот плагин] (http://www.appelsiini.net/projects/viewport), похоже, соответствует вашим потребностям, если я не недопонимаю. – pimvdb