Как я могу сделать страницу, прокручивающую триггерные события mouseOver?

Когда мышь начинает нависать над элементом из-за прокрутки (или колесом, или клавиатурой, прокручивающей), это не инициировало событие mouseOver на элементах, это колеблется (Chrome 6 на OSX). Каков был бы изящный способ инициировать событие mouseOver для корректных элементов при прокрутке?

7
задан Andrey Fedorov 27 July 2010 в 06:24
поделиться

1 ответ

Честно говоря, это будет болью. Вам придется

  1. определить размер и положение каждого элемента, который должен получить обработчик наведения мыши.
  2. добавить слушателя прокрутки в окно.
  3. В обработчике получить положение курсора мыши и pageOffset.
  4. Выясните, в каком элементе (элементах) находится курсор.
  5. вручную вызовите обработчик наведения мыши
  6. (Выясните, какие элементы покинул курсор, если вы хотите, чтобы курсор также вел себя при наведении мыши)

Вам может понадобиться пересчитать позиции и размеры элементов, если они динамические. (переместить 1. под 3.)

Хотя это должно отлично работать с элементами на уровне блоков, у меня нет абсолютно никаких идей по поводу решения для инлайн-элементов.

4
ответ дан 7 December 2019 в 14:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: