JavaScriptマウスホイールを下にスクロールするか、上にスクロールするかを判断
4137 ワード
私たちがよく使うのはマウスで、マウスの中ボタンは一般的にページをスライドするのに使われていますが、ページの中には素晴らしい効果が多く、マウスのホイールを使って操作したほうがいいです.
もちろん携帯にはこの装置はないので、携帯端末の実現方法を考慮する必要はありません.携帯端末にはタッチスライドイベントがあります.
JavaScriptを使用してマウスホイールが下にスクロールするか、上にスクロールするかを判断すると、テキストボックスを変更する数字を上下にスライドするなど、ホイールの操作をより正確に制御するのに役立ち、上には増加し、下には減少し、実用的な機能です.
まず、ブラウザによってローラーイベントが異なるため、言わざるを得ません.主に2種類あります.
onmousewheel(firefoxはサポートされていません)とDOMMouseScroll(firefoxのみサポートされています)
この2つのイベントについては詳しくは説明しませんが、知りたい方はマウスホイール(mousewheel)とDOMMouseScrollイベントに移動してください.そのため、この過程でイベントリスニングを追加する必要があります.
コードは以下の通りです.互換性firefoxはaddEventListenerで傍受されます.
また、ローラーが上下にスクロールすると判断してブラウザでも互換性を考慮し、現在5大ブラウザ(IE、Opera、Safari、Firefox、Chrome)でFirefoxはdetailを使用し、残りの4種類はwheelDeltaを使用している.
両者は取値のみで一致せず,意味は一致し,detailは±3,wheelDeltaは±120,正数は上向き,負数は下向きを表す.
具体的なサンプルコードは次のとおりです.
上記のコードを実行すると、次の結果が得られます.非firefoxブラウザでは、ローラが上にスクロールする戻り値は120であり、下にスクロールする戻り値は-120 である.でfirefoxブラウザでは、ローラが上にスクロールする戻り値は-3、下にスクロールする戻り値は3 である.
コード部分は以下の通りで、e.wheelDeltaは非firefoxブラウザかどうかを判断し、e.detailはfirefoxブラウザである
もちろん携帯にはこの装置はないので、携帯端末の実現方法を考慮する必要はありません.携帯端末にはタッチスライドイベントがあります.
JavaScriptを使用してマウスホイールが下にスクロールするか、上にスクロールするかを判断すると、テキストボックスを変更する数字を上下にスライドするなど、ホイールの操作をより正確に制御するのに役立ち、上には増加し、下には減少し、実用的な機能です.
まず、ブラウザによってローラーイベントが異なるため、言わざるを得ません.主に2種類あります.
onmousewheel(firefoxはサポートされていません)とDOMMouseScroll(firefoxのみサポートされています)
この2つのイベントについては詳しくは説明しませんが、知りたい方はマウスホイール(mousewheel)とDOMMouseScrollイベントに移動してください.そのため、この過程でイベントリスニングを追加する必要があります.
コードは以下の通りです.互換性firefoxはaddEventListenerで傍受されます.
/* */
if(document.addEventListener){
document.addEventListener('DOMMouseScroll',scrollFunc,false);
}//W3C
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
また、ローラーが上下にスクロールすると判断してブラウザでも互換性を考慮し、現在5大ブラウザ(IE、Opera、Safari、Firefox、Chrome)でFirefoxはdetailを使用し、残りの4種類はwheelDeltaを使用している.
両者は取値のみで一致せず,意味は一致し,detailは±3,wheelDeltaは±120,正数は上向き,負数は下向きを表す.
具体的なサンプルコードは次のとおりです.
<label for="wheelDelta"> :</label>(IE/Opera)<input type="text" id="wheelDelta"/>
<label for="detail"> :(Firefox)</label><input type="text" id="detail"/>
<script type="text/javascript">
var scrollFunc=function(e){
ee=e || window.event;
var t1=document.getElementById("wheelDelta");
var t2=document.getElementById("detail");
if(e.wheelDelta){//IE/Opera/Chrome
t1.value=e.wheelDelta;
}else if(e.detail){//Firefox
t2.value=e.detail;
}
}
/* */
if(document.addEventListener){
document.addEventListener('DOMMouseScroll',scrollFunc,false);
}//W3C
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
</script>
上記のコードを実行すると、次の結果が得られます.
コード部分は以下の通りで、e.wheelDeltaは非firefoxブラウザかどうかを判断し、e.detailはfirefoxブラウザである
if(e.wheelDelta){//IE/Opera/Chrome
t1.value=e.wheelDelta;
}else if(e.detail){//Firefox
t2.value=e.detail;
}