`

JS判断鼠标向上滚动还是向下滚动

阅读更多
js如何判断滚轮的上下滚动,我们应该都见到过这种效果,用鼠标滚轮实现某个表单内的数字向上滚动就增加,向下滚动就减少的操作,这种效果是通过js对鼠标滚轮的事件监听来实现的。今天简单的研究了一下如何使用javascript来判断鼠标是向上滚动还是向下滚动,简要分享。

首先,不得不说一下,因为不同的浏览器有不同的滚轮事件。主要是有两种,onmousewheel(firefox不支持)和DOMMouseScroll(只有firefox支持),关于这两个事件这里不做详述,想要了解的朋友请移步:鼠标滚轮(mousewheel)和DOMMouseScroll事件,所以在这个过程中需要添加事件监听,代码如下:兼容firefox采用addEventListener监听。
    /*注册事件*/ 
    if(document.addEventListener){ 
        document.addEventListener('DOMMouseScroll',scrollFunc,false); 
    }//W3C 
    window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome 


另外判断滚轮向上或向下滚动在浏览器中也要考虑兼容性,现在五大浏览器(IE、Opera、Safari、Firefox、Chrome)中Firefox 使用detail,其余四类使用wheelDelta;两者只在取值上不一致,代表含义却是一致的,detail只取±3,wheelDelta只取±120,其中正数表示为向上,负数表示向下。
    <label for="wheelDelta">滚动值:</label>(IE/Opera)<input type="text" id="wheelDelta"/> 
    <label for="detail">滚动值:(Firefox)</label><input type="text" id="detail"/> 
    <script type="text/javascript"> 
    var scrollFunc=function(e){ 
        ee=e || window.event; 
        var t1=document.getElementById("wheelDelta"); 
        var t2=document.getElementById("detail"); 
        if(e.wheelDelta){//IE/Opera/Chrome 
            t1.value=e.wheelDelta; 
        }else if(e.detail){//Firefox 
            t2.value=e.detail; 
        } 
    } 
    /*注册事件*/ 
    if(document.addEventListener){ 
        document.addEventListener('DOMMouseScroll',scrollFunc,false); 
    }//W3C 
    window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome 
    </script> 

通过运行上述代码我们可以得出以下结果:

在非firefox浏览器中,滚轮向上滚动返回的数值是120,向下滚动返回-120

而在firefox浏览器中,滚轮向上滚动返回的数值是-3,向下滚动返回3

代码部分如下,e.wheelDelta是判断是否为非firefox浏览器,e.detail为firefox浏览器
if(e.wheelDelta){//IE/Opera/Chrome 
    t1.value=e.wheelDelta; 
}else if(e.detail){//Firefox 
    t2.value=e.detail; 
}
分享到:
评论

相关推荐

    js鼠标滚动自动隐藏导航菜单.zip

    js鼠标滚动自动隐藏导航菜单是一款当页面向下滚动的时候可以帧动画隐藏,在向上滚动到一定距离时又会显示出来。

    鼠标滚动放大缩小导航栏代码.zip

    当用户控制鼠标向下滚动时,页面顶部的导航栏会变小或消失,当鼠标向上滚动时,导航栏又会变大或出现。这样可以腾出更多的区域显示网页内容,同时也不影响用户对导航菜单的操作。甚至可能l会因为导航栏的放大缩小、...

    列表滚动效果js代码

    列表滚动效果js代码 鼠标放置上面列表可根据情况向上或者向下滚动 点击右键,查看源文件

    js鼠标滚动自动隐藏导航菜单特效代码

    js鼠标滚动自动隐藏导航菜单是一款当页面向下滚动的时候可以帧动画隐藏,在向上滚动到一定距离时又会显示出来。

    滚动条响应鼠标滑轮事件实现上下滚动的js代码

    javascript实现滚动条响应鼠标滑轮的实现上下滚动,示例代码如下

    通用不间断滚动JS封装类

    更新说明: + 加入功能 * 修正、完善 ... + 向下、向右滚动 + 开始等待时间 + 连续滚动 * 调整时间单位 * 滚动误差 * 随机死循环 * 加强性能 * 程序优化 0.8.060829 翻屏不间断向上、向左滚动

    纯js不间断滚动

    Direction (0) 滚动方向 (可选,默认为0向上滚动) 可设置的值包括:0,1,2,3,"top","bottom","left","right" (0向上 1向下 2向左 3向右) Step (1) 滚动的步长 (可选,默认值为2,数值越大,滚动越快) Width (760...

    /*MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类) Ver 1.6*\

    禁止鼠标控制暂停或滚动 鼠标悬停滚动 文字翻屏滚动 文字间歇滚动 向/上/下/左/右/翻屏滚动 向上/下连续滚动 向上/下间歇滚动 .....

    鼠标放上去则向上向下滚动的代码

    xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]软件开发网站长修改

    页面滚动BootstrapNewsBox.zip

    Bootstrap News Box 是一个基于 jQuery 和 Bootstrap 3 的插件,通常用来创建能够实现页面滚动的垂直滑块,允许你在滚动 html 内容的时候,自动向上/向下移动内容。 标签:Bootstrap

    字幕 图片 无间隙 滚动

    可以实现图片或文字平滑连续向上或向左滚动 鼠标移动到图片(文字)上停止滚动,移去后继续滚动。 当前图片(文字)数量少于指定数量且图片(文字)总长(宽)度小于指定长(宽)时不进行滚动。 参与滚动的图片...

    MSClass的JS包

    /*MSClass (Class Of Marquee Scroll通用不... + 向下、向右滚动 + 开始等待时间 + 连续滚动 * 调整时间单位 * 滚动误差 * 随机死循环 * 加强性能 * 程序优化 0.8.060829 翻屏不间断向上、向左滚动

    js中的鼠标滚轮事件1

    而有关鼠标滚轮的信息则保存在detail属性中,当向上滚动鼠标滚轮时,这个属性的值是-3的倍数,当向下滚动鼠标滚轮时,这个属性的值是3的倍数。function

    jQuery滚动隐藏/显示顶部标题

    jQuery滚动隐藏/显示顶部标题 当你在浏览器中向下滚动鼠标时隐藏头部导航,向上滚动时显示. 演示地址:http://www.jq22.com/plugin/597

    javascript经典效果示例

    50:___最简的JavaScript鼠标经过切换图片 51:___有点炫的JavaScript立体图片展示 52:___根据鼠标放上切换内容制作的图片导航 53:___浮动的图片广告 54:___清爽简洁的图片交替导航效果 55:___用CSS实现图片的双边框...

    js图片 放大 缩小 移动 鹰眼

    现在是按下SHIFT+鼠标左键 放大图片;ALT+鼠标右键 缩小图片 如何修改成 鼠标滑轮向上滚动 放大图片;向下滚动 缩小图片呢?

    HTML5手机图片轮显切换 上下滑动图片翻页.rar

    这个效果在电脑上演示时,鼠标向上或向下拖协,即可切换图片,实现了图片的翻页效果。如果在手机上测试,那就是手向上滑或向下滑,图片一张一张翻页,可以修改成左右翻页切换那种,上下切换好像不常见,可为你提供一...

    支持滚动的TAB切换效果.rar

    支持滚动的TAB切换效果,这是一个完整的例子,含 JS和HTML代码文件,鼠标点击左侧的TAB后,右侧的内容向上或向下滚动,本例子是一个实例集,包括标题展开合拢效果、TAb效果、上下结构的TAB切换等多种风格,一共是5个...

    jQuery带视觉差的整个页面滚动特效插件OnePageScr

    OnePageScroll.js是一款带有背景视觉差效果的jQuery整页滚动特效插件。OnePageScroll.js能够滚动一次鼠标滚轮就使整个页面向上或向下翻动一页。并且在页面滚动时还带有一点视觉差效果。

    jquery.Nice-Scrollbar:基于jQuery的滚动条,适用于PC和智能手机(触摸事件)。 它是现代纤薄,易于集成,易于使用的。 在FirefoxChromeMaxthoniPhoneAndroid上进行了测试。 &lt;7ko min.js和&lt;1Ko min.css非常轻

    您可以在滚动条内部单击以快速向上或向下移动。 您可以使用鼠标的滚动按钮来滚动内容。 您可以单击栏中的来快速向上或向下翻页。 您可以在滚动内容内部使用滚动内容。 像素完美。 支持浏览器缩放。 当一个...

Global site tag (gtag.js) - Google Analytics