#javascript #jquery
#javascript #jquery
Вопрос:
В моем документе присутствует более 2000 html-элементов, имеющих класс «abc». Когда я прокручиваю (вверх / вниз) Я хочу, чтобы список элементов html, присутствующих в моем окне просмотра, имел класс ‘abc’, поскольку я хочу выполнить некоторые действия с теми элементами, которые присутствуют в окне просмотра, а не со всеми элементами с классом ‘abc’
Комментарии:
1. может быть, получить список всех элементов $ («.abc») и просто проверить их границы, чтобы увидеть, находятся ли они в окне просмотра?
2. Спасибо @Banana за ответ.. Я. Я уже пробовал это, но иметь список из 2000 элементов, а затем проверять каждый элемент на наличие его в окне просмотра — очень сложная задача с точки зрения производительности. Есть ли какая-либо функция в jQuery / javascript, которая может мне помочь в этом?
Ответ №1:
вы можете использовать плагин Viewport отсюда: http://www.appelsiini.net/projects/viewport
вот ссылка для его загрузки с их github: Viewport.js
использование этого плагина очень просто, чтобы найти все .abc
элементы внутри окна просмотра, которые вы просто добавляете :in-viewport
в свой селектор:
$('.abc:in-viewport');
вот живая демонстрация: Fiddle
Ответ №2:
Я создал класс Viewport только для этой цели: https://github.com/gburghardt/viewport
У него также есть псевдособытия, когда пользователь прекращает прокрутку и когда меняется ориентация при изменении окна просмотра. Удобно для мобильных устройств.