풀리에서 페이지를 스크롤하는 이벤트는 웹 페이지 특수 효과에서 발생하지만 구현 방법은 브라우저에서 다릅니다. 내가 구현 한 다음 방법은 공통 브라우저와 호환됩니다.
함수 getData (이벤트) {var e = 이벤트 || Window.event; // 스크롤 거리를 가져옵니다 (FF 각 스크롤 데이터는 3 또는 -3이고 다른 스크롤 데이터는 120 또는 -120입니다) var data = e.detail || e.wheeldelta; 경고 (데이터); } // If (document.adeventListener &&! document.attachevent) {document.adeventListener ( 'MousewHeel', getData); // ff는 스크롤 이벤트 문서를 바인딩합니다 .addeventListener ( 'dommousescroll', getData); } // else if (document.attachevent &&! document.addeventListener) {docut } else {window.onmousewheel = getData; }코드에서 주목할 가치가있는 것 :
1 왜 Docut
AttachEvent와 Detachevent는 이벤트 및 결합 이벤트를 바인딩하기위한 IE 특정 방법이며,이 방법은 IE에만 존재합니다. 그러나 IE9+ 브라우저에서는 이벤트를 바인딩하기 위해보다 일반적인 addeventListener 방법이 구현됩니다. 브라우저의 AaddeventListener 메소드가 IE8 이하의 안 이하는 비 이하의 방법을 제외 할 수 있지만 IE9+ 브라우저를 포함 할 수 있으므로 나중에 IE9+ 브라우저를 제외하려면 &&! attachevent를 사용하십시오.
2 FF 브라우저에는 Mousewheel 이벤트가 없으며 스크롤이 트리거되는 시간은 Dommousescroll입니다.
3 주목할만한 또 다른 것은 addeventListener를 사용하여 이벤트를 바인딩 할 때 이벤트 이름 앞에 NO가 추가되지만 IE에서 이벤트를 바인드하는 경우 on이 필요하다는 것입니다.