L'événement de défilement de la page sur la poulie est rencontré dans les effets spéciaux de la page Web, mais la méthode d'implémentation est différente sous différents navigateurs. La méthode suivante que j'ai implémentée est compatible avec les navigateurs communs.
fonction getData (événement) {var e = événement || window.event; // Obtenez la distance de défilement (ff chaque donnée de défilement est de 3 ou -3, d'autres sont 120 ou -120) VAR DATA = E.DETAIL || e.wheeldelta; alerte (données); } // Méthode d'événement de liaison à l'extérieur ie if (document.addeventListener &&! Document.attachevent) {document.addeventListener ('Mousewheel', getData); // FF BINDS Document de l'événement Scroll.AdDeventListener («Dommesescroll», GetData); } // ie else if (document.attachevent &&! Document.addeventListener) {document.attachevent ('onMousewheel', getData); } else {window.onmousewheel = getData; }Ce qui vaut la peine de noter dans le code:
1 Pourquoi utiliser Document.AddeventListener &&! Document.Attachevent pour distinguer IE?
attachEvent et Detachevent sont des méthodes spécifiques à IE pour les événements de liaison et les événements non liés, et cette méthode n'existe que dans IE. Cependant, dans les navigateurs IE9 +, une méthode plus générale AddEventListener est implémentée pour lier les événements. Si la méthode document.addeventListener dans le navigateur peut exclure celles qui ne sont pas IE8 et ci-dessous, mais incluent les navigateurs IE9 +, alors utilisez &&! Document.Attachevent pour exclure les navigateurs IE9 + plus tard.
2 Il convient de noter qu'il n'y a pas d'événement de roue de souris dans le navigateur FF, et le moment où le défilement est déclenché est le dommovecroll.
3 Une autre chose qui mérite d'être notée est que lors de l'utilisation d'AdveventListener pour lier les événements, non, il est ajouté avant le nom de l'événement, mais lors de l'utilisation de PiéSevent pour lier les événements dans IE, on est requis.