滚轮事件 mouseWheel
首先判断浏览器,因为使用的浏览器不同,判断的方式不同,主要是火狐,他的事件反应和IE,谷歌等是相反的。
const mouseWheel = function(downFn, upFn) {
if (window.addEventListener) {
console.log('判断FF');
window.addEventListener('DOMMouseScroll', fn, false);
}
console.log('判断IE');
window.onmousewheel = document.onmousewheel = fn;
function fn(event) {
var delta = 0;
if (!event) event = window.event;
if (event.wheelDelta) {
delta = event.wheelDelta;
} else if (event.detail) {
delta = - event.detail;
}
if (delta) handle(delta);
}
function handle(delta) {
if(delta < 0) {
downFn();
} else {
upFn();
}
}
};
mouseWheel(function() {
console.log('down');
}, function() {
console.log('up');
});