javascript - firefox怎么监听鼠标滚轮滚动,这个兼容性问题怎么解决?

查看:138
本文介绍了javascript - firefox怎么监听鼠标滚轮滚动,这个兼容性问题怎么解决?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

要实现的效果是在ie,chrome,firefox下监听滚轮触发事件。
源码:

window.onscroll=function(e){  
var e =e || window.event;       
var scrolltop=document.documentElement.scrollTop||document.body.scrollTop;

var box = $('#qa-head');
if(document.body.scrollTop >= 400){
    box.addClass('fixed-head');
}else{
    box.removeClass('fixed-head');
}
}

模拟onscroll效果

if(document.addEventListener){ 
document.addEventListener('DOMMouseScroll',scrollFunc,false); 
}
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
var scrollFunc=function(e){
    e=e || window.event;
    var t1=document.getElementById("qa-head");
    if(t1.detail >= 400){
        t1.addClass('fixed-head');
        console.log('firefox');
    }else{
        t1.removeClass('fixed-head');
        console.log('firefox lll');
    }
}

但是火狐模拟onscroll的这段代码控制台都没有输出,是什么原因哪里错了?

解决方案

函数表达式声明的函数在执行到函数体之前都是不可用的

这篇关于javascript - firefox怎么监听鼠标滚轮滚动,这个兼容性问题怎么解决?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆