プーリー上のページをスクロールするイベントは、Webページの特殊効果で発生しますが、実装方法は異なるブラウザーで異なります。私が実装した次の方法は、一般的なブラウザと互換性があります。
関数getData(event){var e = event || window.event; //スクロール距離を取得します(ff各スクロールデータは3または-3、その他は120または-120です)varデータ= e.detail || e.wheeldelta;アラート(データ); } // ieの外側のバインディングイベントメソッドif(document.addeventlistener &&!document.attachevent){document.addeventlistener( 'mousewheel'、getData); // ff binds scroll event document.addeventlistener( 'dommouseScroll'、getData); } // ie else if(document.attachevent &&!document.addeventlistener){document.attachevent( 'onmousewheel'、getdata); } else {window.onmousewheel = getData; }コードで注目に値するもの:
1 Document.addeventListener &&!document.attacheventを使用する理由
AttachEventとDeTacheventは、イベントを結合し、結合イベントを結合するためのIE固有の方法であり、この方法はIEにのみ存在します。ただし、IE9+ブラウザでは、イベントをバインドするために、より一般的なAddEventListenerメソッドが実装されています。ブラウザのDocument.AddeventListenerメソッドがIE8以下ではなく、IE9+ブラウザを含むものを除外できる場合、&&!document.attacheventを使用してIE9+ブラウザを除外してください。
2 FFブラウザにはマウスホイールイベントがなく、スクロールがトリガーされる時期はdommouseScrollです。
3注目に値するもう1つのことは、AddEventListenerを使用してイベントをバインドする場合、イベント名の前にonoが追加されないが、actitsEventを使用してIEでイベントをバインドする場合、オンが必要であることです。