El evento de desplazar la página en la polea se encuentra en los efectos especiales de la página web, pero el método de implementación es diferente bajo diferentes navegadores. El siguiente método que implementé es compatible con navegadores comunes.
function getData (evento) {var e = evento || Window.event; // Obtenga la distancia de desplazamiento (por cada datos de desplazamiento es 3 o -3, otros son 120 o -120) var data = e.detail || E.Wheeldelta; alerta (datos); } // Método de evento vinculante fuera de IE if (document.addeventListener &&! Document.attachevent) {document.adDeventListener ('Mousewheel', getData); // ff vincula el evento Scroll Docum.AdDeventListener ('Dommousescroll', getData); } // es decir, más if (document.attachevent &&! Document.addeventListener) {document.attachevent ('onMouseWheel', getData); } else {window.onmousewheel = getData; }Lo que vale la pena señalar en el código:
1 ¿Por qué usar document.adDeventListener &&! Document.attachevent para distinguir IE?
AttachEvent y DeCachevent son métodos específicos de IE para eventos vinculantes y eventos de desabrochar, y este método existe solo en IE. Sin embargo, en los navegadores IE9+, se implementa un método AddEventListener más general para vincular eventos. Si el método Docum.AdDeventListener en el navegador puede excluir aquellos que no son IE8 y debajo, pero incluyen navegadores IE9+, así que use &&!
2 Vale la pena señalar que no hay un evento de rueda de ratón en el navegador FF, y el momento en que se dispara el desplazamiento es DomMousesCroll.
3 Otra cosa que vale la pena señalar es que cuando se usa AddEventListener para unir eventos, no se agrega antes del nombre del evento, pero cuando se usa Adjuntar Eventos para vincular en IE, se requiere ON.