Очень большая HTML-страница: нужны указатели для реализации виртуальной прокрутки - PullRequest
0 голосов
/ 30 марта 2012

Во-первых, извините за мой английский.

У меня очень большая HTML-страница, созданная в asp.net.Мы застряли с IE8, и, к сожалению, IE8 довольно плохо справляется с такими большими HTML-страницами.Например, когда страница полностью сгенерирована, если я нажимаю на простую кнопку, которая отображает предупреждение javascript, для его отображения требуется вечность.Я протестировал ту же страницу с Firefox, и она отлично работает, поэтому проблема действительно в IE8.Опять же, использовать другой браузер нельзя: (*

По сути, информация отображается с 3-мя вложенными списками, которые генерируют UL и LI для имитации дерева. Мой клиент не хочет иметь сетку с пейджером; онхочет иметь возможность прокручивать страницу.

Таким образом, единственный способ справиться с большой страницей - это удалить элементы из DOM, когда эти элементы находятся вне области просмотра, и мне нужно несколько указателей.вы, ребята, реализуете такой «виртуальный» скроллер для страницы? Мы используем Jquery, если это может помочь.

Вот что я подумал:

При прокрутке страницы я могу легко обнаружить, что элементнаходится вне области просмотра и может быть удален из DOM. Где я должен хранить innerhtml этого элемента? В переменной javascript?

Затем, скажем, я удаляю элемент из DOM, делая что-то вроде контейнера.getElementById.innerHTML = '', конечно, высота контейнера будет уменьшена, что может вызвать другие проблемы, такие какполоса прокрутки, которая будет расширяться.Как я могу сохранить содержимое контейнера элемента, сохраняя при этом высоту контейнера?

Кроме того, если мне удастся удалить элемент при прокрутке страницы вниз, то, если прокрутить страницу вверх, какя могу обнаружить, что элемент должен быть показан?

Заранее спасибо за вашу помощь!

Обновление : я понимаю, что я не был ясен с самого начала,Если я реализую виртуальный скроллер, который добавляет элементы на страницу, страница через некоторое время все равно станет слишком большой.Больше, чем динамическое добавление элементов, реальная проблема состоит в том, чтобы удалить из DOM элементы, которые не отображаются на экране, и добавить их обратно, когда они должны отображаться.

1 Ответ

2 голосов
/ 30 марта 2012

Я думаю, что вы ищете термин "бесконечный свиток":

https://www.google.com/search?btnG=1&pws=0&q=jquery+infinite+scroll

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...