使用JS实现鼠标滚轮事件

摘要:
如果(delta<0){sel_index++;=sel_max)sel_index=sel_ma;s+=sel_index;}位置。href=“#”+$(“.board hero”)[sel_index].id;}functionwheel(event){vardelta=0;event)event=window.event;

网站需要实现鼠标滚轮滚一下,页面向下滑向下一个锚点,由于前面有个一样式必须用jQuery1.3.2,而好多滚轮事件都使用了更高版本的jQuery,于是就从网上找了找

<script type="text/javascript">
        var sel_index = -1
        var sel_max = $(".billboard-hero").length - 1;
        function handle(delta) {
            var s = delta + ": ";
            if (delta < 0) {
                sel_index++;
                s += "您在向下滚……";
                s += sel_index;
                if (sel_index >= sel_max) sel_index = sel_max;
            }
            else {
                sel_index--;
                s += "您在向上滚……";
                s += sel_index;
                if (sel_index <= -1) sel_index = -1;
            }
            location.href = "#" + $(".billboard-hero")[sel_index].id;
        }
        function wheel(event) {
            var delta = 0;
            if (!event) event = window.event;
            if (event.wheelDelta) {
                delta = event.wheelDelta / 120;
                if (window.opera) delta = -delta;
            } else if (event.detail) {
                delta = -event.detail / 3;
            }
            if (delta)
                handle(delta);
        }

        window.addEventListener ? window.addEventListener("DOMMouseScroll", this.wheel, false) : null;

        document.onmousewheel = this.wheel;
    </script>

其实和网上的差不多,主要是发现在Chrome和360急速模式下鼠标滚轮滚一下,会触发两次,所以需要

window.addEventListener ? window.addEventListener("DOMMouseScroll", this.wheel, false) : null;

不过本人水平有限,不明其中觉厉...

免责声明:文章转载自《使用JS实现鼠标滚轮事件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ES6学习--搭建环境分布式平台基础算法浅析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

QTablewidget通过代理实现限制输入

QTablewidget代理 之前做过一个QTablewidget想要限制某些单元格只能输入IP,刚开始采用在单元格中添加QLineEdit控件的方法,效果差强人意。后来发现通过QItemDelegate可以很方便实现需求。 QItemDelegate  1 #pragma once 2 #include <QWidget> 3 #inc...

原生JS实现音乐播放器!

  前  言            最近在复习JS,觉得音乐播放器是个挺有意思的东西,今天就来用我们最原生的JS写一个小小的音乐播放器~ 主要功能:        1、支持循环、随机播放   2、在播放的同时支持图片的旋转        3、支持点击进度条调整播放的位置,以及调整音量        4、显示音乐的播放时间        5、支持切歌:上一...

nginx 引号 x22

这个好像是nginx故意这样做的。 因为Nginx默认的log_format使用双引号作为间隔符,为了避免日志分析时候出现混乱,所以将双引号解析为x22了。 只能每天日志切割的时候,自己替换日志中的x22字符为双引号了 我的解决方法: sed 's#\x22#"#g' test.txt 可以把x22userIdx22:x22tommyels_hu...

SQL Server 一些使用小技巧

1、查询的时候把某一个字段的值拼接成字符串 以下是演示数据。 第一种方式:使用自定义变量 DECLARE @Names NVARCHAR(128) SET @Names='' -- 需要先赋值为空字符串,不然结果会是 null SELECT @Names=@Names+S_Name+',' -- S_Name 类型为...

MinGW安装gcc

MinGW 安装MinGW 下载MinGW(Minimalist GNU for Windows) 选择目录后安装 安装gcc-g++ 运行位于MinGWinmingw-get.exe的MinGW安装管理器,安装gcc-g++。 安装完后%MinGW_Home%in下面会多出很多文件,其中就包括c++的编译器。 配置环境变量 Win+R输入sysdm.c...

Communication between C++ and Javascript in Qt WebEngine(转载)

Communication between C++ and Javascript in Qt WebEngine admin January 31, 2018 0 As Qt WebKit is replaced by Qt WebEngine(you can refer to this postabout porting issues), access...