鼠标滚动方向一般情况下向上值为正,向下值为负,但在火狐浏览器中相反。考虑处理兼容问题。
兼容问题
<script>
window.onload = function(){
var testNode = document.querySelector('#test');
// 火狐
if(testNode.addEventListener){
testNode.addEventListener("DOMMouseScroll",function(ev){
ev = ev||event;
/*
向下:正
向上:负
*/
console.log(ev.detail)
})
}
// 非火狐浏览器
testNode.onmousewheel = function(ev){
ev = ev||event;
/*
向下:负
向上:正
*/
console.log(ev.wheelDelta)
}
}
</script>
chrome
firefox
兼容代码
<script>
window.onload = function(){
var testNode = document.querySelector('#test');
// 火狐
if(testNode.addEventListener){
testNode.addEventListener("DOMMouseScroll",fn);
}
// !非火狐浏览器
testNode.onmousewheel = fn;
function fn(ev){
ev = ev||event;
var dir = "";
if(ev.wheelDelta){
dir = ev.wheelDelta>0 ? "up":"down";
}
if(ev.detail){
dir = ev.detail<0 ? "up":"down";
}
console.log(dir)
}
}
</script>
chrome
firefox