Das Scrollen der Seite auf der Riemenscheibe wird in Web -Page -Spezialeffekten aufgetaucht, die Implementierungsmethode ist jedoch unter verschiedenen Browsern unterschiedlich. Die folgende Methode, die ich implementiert habe, ist mit gemeinsamen Browsern kompatibel.
Funktion getData (Ereignis) {var e = Ereignis || Fenster.Event; // Erhalten Sie den Scroll -Abstand (ff jede Bildlaufdaten beträgt 3 oder -3, andere sind 120 oder -120) var data = e.detail || E.WHEELDELTA; Alarm (Daten); } // Binding Ereignismethode außerhalb IE if (document.addeventListener &&! Document.attachEvent) {document.addeventListener ('Mausrad', getData); // ff bindet scroll event document.addeventListener ('dommouSeScroll', getData); } // dh sonst if (document.attachEvent &&! Document.addeventListener) {document.attachEvent ('onmousewheel', getData); } else {window.onmousewheel = getData; }Was ist erwähnenswert im Code:
1 Warum verwenden Sie document.adDeventListener &&! Document.attachevent, um den IE zu unterscheiden?
AttachEvent und Absäumnis sind IE-spezifische Methoden zum Bindung von Ereignissen und Entbindung von Ereignissen, und diese Methode besteht nur in IE. In IE9+ Browsern wird jedoch eine allgemeinere AddEventListener -Methode implementiert, um Ereignisse zu binden. Wenn die Methode document.adDeVentListener im Browser diejenigen ausschließen kann, die nicht IE8 und unten sind, sondern IE9+ Browsser enthalten, verwenden Sie also &&! Dokument.attachung, um IE9+ Browser später auszuschließen.
2 Es ist erwähnenswert, dass es im FF -Browser kein Mausrad -Ereignis gibt, und die Zeit, in der das Scrollen ausgelöst wird, ist dommouSeScroll.
3 Eine weitere bemerkenswerte Sache ist, dass bei der Verwendung von addEventListener zum Binden von Ereignissen kein Eingang vor dem Ereignisnamen hinzugefügt wird. Bei Verwendung von AttachEvent, um Ereignisse in IE zu binden, ist ein Eingang erforderlich.