Событие прокрутки страницы на шкиве встречается в специальных эффектах веб -страницы, но метод реализации различен в разных браузерах. Следующий метод, который я реализовал, совместим с общими браузерами.
Функция getData (event) {var e = event || window.event; // Получить расстояние прокрутки (FF Каждые данные прокрутки 3 или -3, другие -120 или -120) var data = e.detail || E.Whieldelta; оповещение (данные); } // Метод привязки события вне IE if (document.addeventlistener &&! Document.attachevent) {document.addeventListener ('mousewheel', getData); // ff связывает событие прокрутки документа. } // т.е. else if (document.attachevent &&! Document.addeventlistener) {document.attachevent ('onmousewheel', getData); } else {window.onmousewheel = getData; }Что стоит отметить в коде:
1 Зачем использовать Document.AddeventListener &&! Document.Attachevent, чтобы отличить IE?
AttactEvent и DepachEvent-это IE-специфические методы для событий связывания и рассеяния событий, и этот метод существует только в IE. Тем не менее, в браузерах IE9+ более общий метод addeventListener реализуется для привязки событий. Если метод Document.AddeventListener в браузере может исключить те, которые не являются IE8 и ниже, но включают в себя браузеры IE9+, поэтому используйте &&! Document.attachevent, чтобы исключить браузеры IE9+ позже.
2 Стоит отметить, что в браузере FF нет события мышиного колеса, а время, когда прокрутка прокрутки - это Dommousescroll.
3 Еще одна вещь, которую стоит отметить, заключается в том, что при использовании AddEventListener для привязки событий нет включено перед именем события, но при использовании AttedEvent для связывания событий в IE требуется.