O evento de rolar a página na polia é encontrado nos efeitos especiais da página da web, mas o método de implementação é diferente em diferentes navegadores. O método a seguir implementei é compatível com navegadores comuns.
função getData (evento) {var e = evento || Window.Event; // Obtenha a distância de rolagem (ff cada dados de rolagem é 3 ou -3, outros são 120 ou -120) var dados = e.Detail || E.WheelDelta; alerta (dados); } // Método de evento de ligação fora do ie if (document.addeventListener &&! // FF liga o documento do evento Scroll.addeventListener ('DommouSescroll', getData); } // ie else if (document.attachevent &&! } else {window.onmousewheel = getData; }O que vale a pena notar no código:
1 Por que usar document.addeventListener &&! Document.attachevent para distinguir o IE?
AnexeEvent e Detachevent são métodos específicos do IE para eventos de ligação e eventos desbotados, e esse método existe apenas no IE. No entanto, no IE9+ navegadores, um método AddEventListener mais geral é implementado para vincular eventos. Se o método Document.AddeventListener no navegador puder excluir aqueles que não são IE8 e abaixo, mas incluam o IE9+ navegadores, então use &&!
2 Vale a pena notar que não há evento de roda de mouse no navegador FF, e o tempo em que a rolagem é acionada é DommouSesCroll.
3 Outra coisa que vale a pena notar é que, ao usar o addEventListener para vincular eventos, não é adicionado antes do nome do evento, mas ao usar o AnextEvent para vincular eventos no IE, é necessário.