2011-12-28 5 views
2

У меня очень загруженный пользовательский интерфейс, много постоянного обновления без взаимодействия (представьте длинный список котировок или портфолио) DOM, и я начинаю замечать его замедление, особенно в IE. Это действительно показывает различия в машинах JavaScript. Хотя я очень стараюсь следовать всем лучшим практикам с селекторами jQuery, манипуляциями DOM и другими, я думаю, что я могу сделать больше.Обновить только видимые элементы DOM?

Я хотел был бы только обновить части видимого интерфейса. Поэтому я хотел бы только обновить элементы DOM, которые находятся в окне просмотра пользователя, и когда пользователь прокручивает, только до тех пор, пока прокрутка не остановится, Ii хочет выполнить обновления для видимых элементов DOM.

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

+0

Вы можете использовать JQuery селектор видимую http://api.jquery.com/visible-selector/ –

+0

не думаю, вот что мне нужно , это просто видимо (не скрыто). Мне нужно что-то вроде «дайте мне все элементы с этим классом, которые находятся в окне просмотра пользователя. – ijjo

ответ

2

Да, безусловно, возможно. Вы хотите использовать прослушиватель событий onScroll в сочетании с методом, который выполняет DOM и быстро отклоняет любые элементы, которые не находятся в окне просмотра. Существует несколько способов проверки наличия DOM. Один из лучших, которые я наткнулся подробно в этом ответе:

Check if element is visible after scrolling

Смежные вопросы