`

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; 
}
分享到:
评论

相关推荐

    JQ 判断鼠标向上滚动并浮动导航

    标题中的“JQ 判断鼠标向上滚动并浮动导航”指的是使用jQuery库来实现一个功能,即当用户在网页上向上滚动时,导航栏会固定在屏幕顶部,这种效果通常被称为“固定顶栏”或“粘性导航”。这个功能在现代网页设计中...

    向上滚动,可控制,点击向上滚动,点击向下滚动

    例如,当用户点击一个“向上滚动”或“向下滚动”的按钮时,通过JavaScript事件监听器,可以触发页面的滚动动作。这可以通过修改window对象的scrollTo方法来实现,该方法接受两个参数,一个是水平方向上的偏移量,另...

    js图片向上下左右滚动的代码 图片向上滚动js代码

    --下面是向下滚动代码--&gt;` 之后,结构与向上滚动类似,只是滚动的方向相反。`&lt;div id="colee_bottom"&gt;...&lt;/div&gt;` 包含了 `&lt;div id="colee_bottom1"&gt;...&lt;/div&gt;` 和 `&lt;div id="colee_bottom2"&gt;...&lt;/div&gt;`。`Marquee2` ...

    jQuery带按钮向上滚动向下滚动代码.zip

    jQuery带按钮向上滚动向下滚动代码是基于流行的JavaScript库jQuery实现的一种网页滚动效果。这个功能通常用于网站页面,尤其是内容较多的页面,以便用户能够轻松地浏览页面内容而无需手动滚动鼠标或触摸屏幕。这种...

    js获取鼠标滚轮滚动像素

    1. **`wheelDelta`属性**:主要在IE/Chrome/Safari/Firefox(非标准)中使用,代表滚轮移动的单位,一般情况下向上滚动为正数,向下滚动为负数。 2. **`detail`属性**:主要在Firefox中使用,与`wheelDelta`相反,...

    js图片缩放效果制作鼠标滚动图片等比例缩放

    if (delta &gt; 0) { // 向下滚动,缩小图片 newScale -= 0.1; } else if (delta ) { // 向上滚动,放大图片 newScale += 0.1; } // 限制最小和最大缩放比例 newScale = Math.max(0.5, Math.min(newScale, 2));...

    判断鼠标上下左右移动状态

    Y坐标增大表示向下移动,减小表示向上移动。 - 可以设置一个阈值来避免因为轻微的抖动而频繁触发移动事件,比如只在鼠标移动超过一定像素距离时才认为是真正的移动。 4. **实现状态判断**: - 创建四个变量,分别...

    js文字滚动制作js scroll单排文字滚动向上间歇滚动

    文字滚动是一种常见的网页动态效果,它可以使页面上的文本按照设定的方向(如向上、向下、向左或向右)以一定的速度滚动,给用户带来动态视觉体验。在JavaScript中,我们可以利用DOM(Document Object Model)操作来...

    js页面向下滚动浮动层

    在网页设计中,"js页面向下滚动浮动层"是一种常见的用户体验优化技术,它使得特定的元素(如导航菜单)在用户滚动页面时始终保持在屏幕的可见区域。这种效果可以增加用户的交互性和易用性,特别是在内容丰富的长页面...

    JS鼠标滚轮水平滚动特效.zip

    通常,滚轮事件会提供一个deltaY属性,表示滚轮向上或向下的滚动量。但在实现水平滚动特效时,我们需要关注deltaX属性,它指示了水平方向的滚动量。 实现这个效果,首先需要在HTML中设置一个可滚动的容器,比如一个...

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

    通过这种设计,用户在页面顶部时能看到导航菜单,随着向下滚动,菜单会逐渐隐藏,当用户向上滚动到一定位置时,菜单又会重新出现。这种体验使得用户在任何时刻都能轻松找到导航,同时在不需要时不会占用过多视觉空间...

    js实现鼠标滚轮控制图片缩放效果的方法

    正值代表向上滚动,负值代表向下滚动。通过将这个值除以12,我们得到缩放的步进值,然后累加到当前的zoom值上。 最后,通过if语句判断缩放后的zoom值是否大于0,若是则更新图片的缩放值。如果缩放值小于或等于0,则...

    javascript 向上滚动公告、水平滚动公告(翻页效果)

    首先,向上滚动公告通常是利用JavaScript定时器(`setInterval`)来实现的,通过不断调整文本或元素的位置,使其看起来像从下往上滚动。以下是一个基本的向上滚动公告的实现步骤: 1. 创建HTML结构,例如一个包含...

    鼠标滚动div内容

    通过监听这个事件,我们可以获取滚动的详细信息,如滚动的方向(向上还是向下)。 3. **滚动函数** 当`wheel`事件被触发时,我们会执行一个自定义的滚动函数。这个函数可以更新div的内容或者改变div的`scrollTop`...

    鼠标滚轮滚动条代码.zip

    当用户滚动鼠标滚轮时,`wheel`事件会被触发,然后我们可以通过事件对象的`deltaY`属性来判断滚动的方向,是向上还是向下。 其次,实现拖拽滚动的功能则需要用到`mousedown`、`mousemove`和`mouseup`这三个鼠标事件...

    鼠标滑轮滚动事件

    // event.deltaY表示滚动的垂直方向的增量,正值向下滚动,负值向上滚动 var deltaY = event.deltaY; // 根据deltaY的值执行相应操作 if (deltaY &gt; 0) { console.log('向下滚动'); } else { console.log('...

    如何用js实现鼠标向上滚动时浮动导航

    使用JavaScript和jQuery来实现鼠标向上滚动时导航条浮动到顶部的交互,是一个简单但对用户体验有显著改善的方法。通过监听滚动事件,判断滚动方向,并应用相应的CSS过渡效果,可以为网站增添现代感和易用性。这个...

    html广告牌效果 HTML由下向上滚动广告,由右向左滚动广告.zip

    在本案例中,我们关注的是如何利用HTML实现广告牌效果,包括由下向上滚动和由右向左滚动的动态广告展示。这两个效果通常用于吸引用户的注意力,增强网站的互动性。 首先,"向上滚动广告_广告牌效果_网页版...

    jqeury实现鼠标滚轮滚动无限极菜单

    例如,当用户向下滚动时,我们可以显示更多的菜单项;反之,向上滚动则隐藏部分菜单。同时,为了实现自适应屏幕,我们需要检测窗口的大小,并根据窗口的宽度和高度调整菜单的布局和滚动速度。 另外,`jquery.mouse...

    jQuery支持鼠标滚动的垂直滚动手风琴

    反之,当鼠标向下滚动时,找到最后一个未展开的面板并打开。通过触发`click`事件,我们可以利用已有的手风琴逻辑来完成展开和折叠的操作。 此外,为了优化性能,我们可能需要添加一些额外的判断,比如防止在同一个...

Global site tag (gtag.js) - Google Analytics