9
votes

Comment puis-je créer des événements de la page pour défilement de page?

Lorsque la souris commence à survoler un élément en raison de défilement (par roue ou par défilement du clavier), il ne déclenche pas un événement de la Mousever sur les éléments qu'il planifie (chrome 6 sur OSX). Quel serait un moyen élégant de déclencher l'événement de la Mousever pour les éléments corrects lors du défilement?


0 commentaires

3 Réponses :


4
votes

Honnêtement, ça va être une douleur. Vous devrez

  1. Déterminez la taille et la position de chaque élément qui devrait obtenir un gestionnaire de souris.
  2. Ajouter un auditeur de défilement à la fenêtre.
  3. dans le gestionnaire, obtenez la position du curseur de la souris et de la pageOffset.
  4. Découvrez quel élément (s) le curseur est dans.
  5. Appelez manuellement le gestionnaire de la sourisover
  6. (Découvrez quels éléments le curseur sont partis, si vous voulez aussi du comportement de la souris)

    Vous devrez peut-être ré-calculer les positions et tailles des éléments si elles sont dynamiques. (Move 1. Sous 3.)

    Bien que cela puisse fonctionner correctement avec des éléments de niveau de bloc, je n'ai aucune idée d'une solution pour des éléments en ligne.


2 commentaires

Ouch, c'est ce que j'ai peur de. S'il n'y a aucun moyen de tirer parti du navigateur le faire (cela fait-il tout le temps quand même, non?), Je peux simplement sauter cette fonctionnalité ... toujours, serait bien.


De toute évidence, Chrome 6 ne le fait pas tout le temps - sinon l'événement de la souris d'introduction tire;)



-2
votes

Essayez un piratage comme mydiv.style.opacity = 1 + math.random (); sur défilement;)


0 commentaires

3
votes

Ceci est beaucoup plus simple dans le web de la journée moderne à l'aide de document.elementsfrompoind :

  1. Ajouter un auditeur de défilement à la fenêtre.
  2. dans le gestionnaire, appelez document.elementsfrompoind .
  3. Appeler manuellement le Mouseover Handler pour ces éléments.
  4. appelez manuellement le manuel Mouseleave pour des éléments ne sont plus planifiés.

2 commentaires

Je pense que la 4ème étape est la plus difficile de tout ça


@ java-man-script peut-être alors. Mais vous pouvez stocker une liste d'éléments qui se trouvaient dans le dernier événement et comparer les listes.