今天项目中用到了通过滑动鼠标滑轮触发事件,再网上找了一些例子,在FireFox下面使用正常,但是在IE和Google等浏览器下使用滑动一次滑轮却触发了两次事件,网上找了一些解决方案,最后选择了一个简单的解决方案,如果在使用的过程中出现问题,我会继续改进。
<script type="text/javascript">
$(document).ready(function(){
var flag = true;
/*鼠标滑轮滚动事件的处理*/
var scrollFunc=function(e){
var direct=0;
e=e || window.event;
if(e.wheelDelta){//IE/Opera/Chrome
if(flag){
pageTurring(e.wheelDelta);
}else{
flag = true;
}
}else if(e.detail){//Firefox
pagepageTurringFirefox(e.detail);
}
ScrollText(direct);
}
/*注册事件*/
if(document.addEventListener){
document.addEventListener(‘DOMMouseScroll‘,scrollFunc,false);
}
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
//其他浏览器翻页,根据参数的进行翻页(负数为下一页,)
function pageTurring(e){
flag = false;
alert(e);
}
//火狐翻页,根据参数的进行翻页(正数为下一页,)
function pagepageTurringFirefox(e){
alert(e);
}
});
</script>
有什么问题欢迎大家提出,一起改进
原文地址:http://blog.csdn.net/sunfeilong1993/article/details/45314203