- 直接通过判断是否为firefox里添加滚轮事件
- 在添加滚轮事件时,再判断滚动的方向,再做一次兼容
- 判断后,再将这个方向变量down传给真正要添加的事件,根据down的方向,也就是down的true或者false来做不同的事情
- 最后在调用函数的时候要将down传进参数中去
<style>
body{margin: 0;padding: 0;}
#box{ 170px;height: 170px;background: grey;position: absolute;top: 0;left: 0;}
</style>
<script>
function addWheelEvent(obj,fn){
if(navigator.userAgent.toLowerCase().indexOf('firefox')!=-1){
obj.addEventListener('DOMMouseScroll',fnWheel,false);
}else{
obj.onmousewheel = fnWheel;
}
function fnWheel(ev){
var ev = ev || event;
var down = true;
if(ev.wheelDelta){
down = ev.wheelDelta>0?true:false;
}else{
down = ev.detail<0?true:false;
}
fn(down);
}
}
window.onload = function(){
var oDiv = document.getElementById('box');
addWheelEvent(document,function(down){ //在调用时传进一个方向
if(down){ //对方向进行判断,做不同的事情
oDiv.style.height = oDiv.offsetHeight + 10 + 'px';
}else{
oDiv.style.height = oDiv.offsetHeight - 10 + 'px';
}
});
};