当前位置: 首页 > article >正文

JavaScript 鼠标滚轮事件详解:监听向上/向下滑动

在 Web 开发中监听鼠标滚轮事件wheel可以实现许多交互效果例如滚动加载内容、缩放元素、切换幻灯片等。本文将详细介绍如何使用 JavaScript 监听鼠标滚轮的向上滑动和向下滑动事件并提供完整的代码示例。1. 鼠标滚轮事件的基本概念鼠标滚轮事件wheel在用户滚动鼠标滚轮时触发。与传统的mousewheel事件不同wheel是现代浏览器的标准事件支持更精细的滚轮数据如deltaY。关键属性deltaY表示垂直滚动的方向和距离。deltaY 0向下滚动或向右滚动取决于设备。deltaY 0向上滚动或向左滚动。deltaX表示水平滚动的方向和距离较少使用。deltaZ表示 3D 滚轮的滚动较少使用。2. 基本实现监听wheel事件我们可以使用addEventListener监听wheel事件并通过event.deltaY判断滚动方向。示例代码document.addEventListener(wheel,(event){if(event.deltaY0){console.log(向上滚动);// 执行向上滚动的逻辑}elseif(event.deltaY0){console.log(向下滚动);// 执行向下滚动的逻辑}});说明event.preventDefault()可以阻止默认滚动行为如页面滚动但需谨慎使用否则会影响用户体验。如果需要兼容旧浏览器如 IE可以同时监听mousewheel事件但现代浏览器已弃用。3. 完整示例阻止默认滚动 自定义逻辑假设我们希望在滚动时阻止页面默认滚动并执行自定义逻辑如切换幻灯片!DOCTYPEhtmlhtmllangenheadmetacharsetUTF-8metanameviewportcontentwidthdevice-width, initial-scale1.0title鼠标滚轮事件示例/titlestylebody{height:200vh;/* 模拟长页面 */margin:0;display:flex;justify-content:center;align-items:center;font-family:Arial,sans-serif;}.slider{width:500px;height:300px;background-color:#f0f0f0;border-radius:8px;display:flex;justify-content:center;align-items:center;font-size:24px;position:relative;overflow:hidden;}.slide{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;transition:transform 0.5s ease;}/style/headbodydivclasssliderdivclassslidestylebackground-color:#ffcccc;Slide 1/divdivclassslidestylebackground-color:#ccffcc;Slide 2/divdivclassslidestylebackground-color:#ccccff;Slide 3/div/divscriptconstslidesdocument.querySelectorAll(.slide);letcurrentSlide0;// 初始化只显示第一张幻灯片updateSlider();document.addEventListener(wheel,(event){// 阻止默认滚动行为event.preventDefault();if(event.deltaY0){// 向上滚动上一张currentSlide(currentSlide-1slides.length)%slides.length;}elseif(event.deltaY0){// 向下滚动下一张currentSlide(currentSlide1)%slides.length;}updateSlider();});functionupdateSlider(){slides.forEach((slide,index){slide.style.transformtranslateY(${(index-currentSlide)*100}%);});}/script/body/html代码解析HTML 结构一个.slider容器包含 3 张.slide幻灯片。CSS 样式使用position: absolute堆叠幻灯片。transition实现平滑切换效果。JavaScript 逻辑监听wheel事件阻止默认滚动event.preventDefault()。根据deltaY判断滚动方向更新currentSlide索引。updateSlider()函数通过transform: translateY()切换幻灯片。4. 兼容性处理虽然wheel是现代标准但旧浏览器如 IE可能不支持。如果需要兼容可以同时监听mousewheel但推荐仅在必要时使用document.addEventListener(wheel,handleWheel);document.addEventListener(mousewheel,handleWheel);// 旧浏览器兼容functionhandleWheel(event){// 标准化 deltaYmousewheel 的 delta 可能不同constdeltaevent.deltaY||-event.wheelDelta;// mousewheel 的 wheelDelta 方向相反if(delta0){console.log(向上滚动);}elseif(delta0){console.log(向下滚动);}}5. 实际应用场景滚动加载内容如无限滚动列表。缩放元素如地图、图片查看器。切换幻灯片/轮播图如本文示例。自定义滚动行为如平滑滚动、视差效果。6. 总结使用addEventListener(wheel, callback)监听鼠标滚轮事件。通过event.deltaY判断滚动方向 0向上 0向下。可使用event.preventDefault()阻止默认滚动行为。兼容旧浏览器时可额外监听mousewheel但不推荐。完整代码推荐document.addEventListener(wheel,(event){if(event.deltaY0){console.log(向上滚动);// 自定义逻辑如切换上一张幻灯片}elseif(event.deltaY0){console.log(向下滚动);// 自定义逻辑如切换下一张幻灯片}});希望本文能帮助你掌握 JavaScript 鼠标滚轮事件的使用如果有任何问题欢迎在评论区讨论 。

相关文章:

JavaScript 鼠标滚轮事件详解:监听向上/向下滑动

在 Web 开发中,监听鼠标滚轮事件(wheel)可以实现许多交互效果,例如滚动加载内容、缩放元素、切换幻灯片等。本文将详细介绍如何使用 JavaScript 监听鼠标滚轮的向上滑动和向下滑动事件,并提供完整的代码示例。1. 鼠标滚…...

如何解决Upscayl中的Vulkan兼容性问题:完整指南

如何解决Upscayl中的Vulkan兼容性问题:完整指南 【免费下载链接】upscayl 🆙 Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. 项目地址: https://gitcode.com/GitHub_Trending/up/upscayl Upscayl是一款免费…...

KMS智能激活工具终极指南:如何永久激活Windows和Office系统

KMS智能激活工具终极指南:如何永久激活Windows和Office系统 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO KMS_VL_ALL_AIO是一款专业的智能激活脚本,专为Windows和Offic…...

在 Taotoken 控制台进行模型选型与性能初探的实操指南

在 Taotoken 控制台进行模型选型与性能初探的实操指南 面对众多大语言模型,如何选择一款适合自己应用场景的模型,是许多开发者和团队面临的首要问题。直接逐一接入不同厂商的 API 进行测试,不仅流程繁琐,还需要管理多个密钥和计费…...

Path of Building终极指南:5个技巧让流放之路Build规划变得简单高效

Path of Building终极指南:5个技巧让流放之路Build规划变得简单高效 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building是流放之路玩家必备的离…...

5步掌握kohya_ss:AMD GPU上的Stable Diffusion终极训练指南

5步掌握kohya_ss:AMD GPU上的Stable Diffusion终极训练指南 【免费下载链接】kohya_ss 项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss kohya_ss是一个基于Gradio的图形界面工具,专门用于Stable Diffusion模型的训练和微调。这个开…...

全栈开发技术栈解析:TypeScript、React、Prisma与Docker的现代化实践

1. 项目概述:一个面向未来的全栈开发栈如果你和我一样,在过去的几年里,从零开始搭建过不少Web应用,那你一定对“技术选型”这件事又爱又恨。爱的是,每一次选型都像是一次技术探险,充满了可能性;…...

串级 PID 在双轮足机器人中的应用:从理论到嵌入式调参

一、PID 控制的核心问题:为什么轮式平衡机器人需要多个 PID? 普通四轮小车只需要一个速度 PID——设定目标速度,测量轮速,输出 PWM。但本机器人是轮足混合式结构,直立行走依赖 IMU 反馈的动态平衡。这就引入了两个额外…...

Windows 10系统清理神器:Windows10Debloater让你的电脑重获新生

Windows 10系统清理神器:Windows10Debloater让你的电脑重获新生 【免费下载链接】Windows10Debloater Script to remove Windows 10 bloatware. 项目地址: https://gitcode.com/gh_mirrors/wi/Windows10Debloater 你是否曾为Windows 10中那些预装的、从未使用…...

初创团队如何通过Taotoken低成本启动AI功能开发与测试

初创团队如何通过Taotoken低成本启动AI功能开发与测试 对于资源有限的初创团队和独立开发者而言,在产品的早期阶段引入AI功能,往往面临着一系列现实的挑战:需要在多个模型供应商平台分别注册、充值和管理API密钥;需要对比不同模型…...

ChanlunX:让缠论分析从复杂理论到直观可视的智能插件

ChanlunX:让缠论分析从复杂理论到直观可视的智能插件 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾被缠论中复杂的中枢结构、笔段划分搞得头晕眼花?是否曾因手动画图分析…...

制造业智能质量追溯:从“事后追责“到“事前预防“的转型之路

一、引言:质量管理的范式转移过去三十年,制造业质量管理经历了一场静默的革命。90年代,工厂靠老师傅的经验和纸质记录卡管理质量。21世纪初,ERP和MES系统让数据实现了电子化。但很多企业发现,系统上了、数据有了&#…...

观察 Taotoken 官方折扣活动对个人开发者使用成本的实际影响

观察 Taotoken 官方折扣活动对个人开发者使用成本的实际影响 1. 折扣活动与成本感知的基本逻辑 对于个人开发者或学生用户而言,大模型 API 的使用成本往往是项目实验中的重要考量因素。Taotoken 平台提供的透明计费机制,结合官方折扣活动,能…...

一份公开的奖学金名单,竟成 EDU 渗透的 “万能钥匙”!

0x1 通过奖学金名单泄露学号一、登录须知开始我是针对于很多的edu大学的学生管理登录站点的测试,因为最近我发现很多大学的国家奖学金的名单都会公布出来,且里面有学生院系、学生姓名、学生班级更重要的还有学生的学号信息泄露出来,那么就可以…...

SensitivityMatcher:打破游戏壁垒的跨平台鼠标灵敏度精准匹配工具

SensitivityMatcher:打破游戏壁垒的跨平台鼠标灵敏度精准匹配工具 【免费下载链接】SensitivityMatcher Script that can be used to convert your mouse sensitivity between different 3D games. 项目地址: https://gitcode.com/gh_mirrors/se/SensitivityMatch…...

3分钟搞定PS4游戏修改:GoldHEN作弊管理器完全指南

3分钟搞定PS4游戏修改:GoldHEN作弊管理器完全指南 【免费下载链接】GoldHEN_Cheat_Manager GoldHEN Cheats Manager 项目地址: https://gitcode.com/gh_mirrors/go/GoldHEN_Cheat_Manager 还在为PS4游戏难度太高而烦恼吗?想要轻松解锁《血源诅咒》…...

AI智能体架构解析:多源逻辑引擎与情境同步记忆在交易与学习场景的应用

1. 项目概述:一个为特定目标而生的“数字伙伴”最近在GitHub上看到一个挺有意思的项目,叫“SSC Scholar-Trader Agent”。初看这个名字,你可能觉得有点割裂——“Scholar”(学者)和“Trader”(交易者&#…...

YOLO 系列:YOLOv10 结合 Transformer 编码器做检测头,端到端目标框直接回归实验

一、为什么要在 2026 年关注 YOLOv10 Transformer? 目标检测领域正经历一场静默的范式转移。 过去十年,YOLO 系列凭借“一阶段检测+卷积神经网络”的组合拳统治了实时检测赛道。但近两年,Transformer 架构从自然语言处理席卷计算机视觉,DETR 系列以“端到端集合预测”的姿…...

高校实验室基于Taotoken构建多模型对比研究平台

高校实验室基于Taotoken构建多模型对比研究平台 在人工智能领域的学术研究中,对多个大语言模型进行系统性、可复现的性能对比是常见且关键的工作。传统方式下,研究人员需要分别申请不同厂商的API密钥、学习各异的接口规范、并自行搭建一套调用与数据收集…...

Emby自定义CSS和JS插件:3步打造个性化媒体服务器界面

Emby自定义CSS和JS插件:3步打造个性化媒体服务器界面 【免费下载链接】Emby.CustomCssJS Easy to manage your Custom JavaScript and Css to modify Emby 项目地址: https://gitcode.com/gh_mirrors/em/Emby.CustomCssJS Emby.CustomCssJS是一款专为Emby媒体…...

解放双手的智能游戏管家:MaaAssistantArknights 如何用图像识别技术重塑明日方舟游戏体验

解放双手的智能游戏管家:MaaAssistantArknights 如何用图像识别技术重塑明日方舟游戏体验 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all…...

初创公司如何利用 Taotoken 的按 token 计费模式控制 AI 实验成本

初创公司如何利用 Taotoken 的按 token 计费模式控制 AI 实验成本 1. 快速接入与模型实验 对于初创团队而言,快速验证产品原型中的 AI 能力是关键需求。Taotoken 提供的 OpenAI 兼容 API 允许开发者在五分钟内完成基础对接。以 Python 为例,只需安装官…...

异步AI智能体开发实战:基于AsynAgents构建自主决策工作流

1. 项目概述与核心价值最近在折腾AI应用开发,特别是想搞点能自主决策、能异步处理复杂任务的智能体(Agent),发现了一个挺有意思的开源项目——lisniuse/AsynAgents。这名字一看就直击要害,“异步智能体”,对…...

基于千问模型的智能评价系统:学生传统节日汇报实时评估的完整实现

基于千问模型的智能评价系统:学生传统节日汇报实时评估的完整实现 摘要 本文旨在系统阐述一个基于通义千问大语言模型的教育智能体的完整开发过程。该智能体专门针对中小学生在进行中国传统节日(春节、中秋节、端午节)文化汇报时的内容进行自动化、智能化的实时评价。本文…...

等到删了再后悔已晚!微信自动备份早开早安心

微信里保存着很多重要内容,比如聊天记录、工作文件、照片视频、转账信息、客户沟通记录等。平时看着都在,一旦误删、手机损坏、系统清理,才发现很多资料并没有想象中那么安全。所以,与其等数据丢了再着急恢复,不如提前…...

如何掌握LxRunOffline:解锁Windows子系统离线安装的终极秘籍

如何掌握LxRunOffline:解锁Windows子系统离线安装的终极秘籍 【免费下载链接】LxRunOffline A full-featured utility for managing Windows Subsystem for Linux (WSL) 项目地址: https://gitcode.com/gh_mirrors/lx/LxRunOffline 你是否曾因网络不稳定而无…...

ETA6911,12V/4A 独立开关模式锂离子电池充电器。

1.描述ETA6911是新一代高集成度同步开关模式充电器,内置同步场效应管,具备高开关频率与高充电效率特性。依托钰泰半导体专属电流检测技术,该芯片无需外置检测电阻,可实现最高4安培的充电电流输出。此外,其封装尺寸仅1.…...

深度解析:基于 Docker 与 GB28181 的企业级 AI 视频管理平台——实现 X86/ARM 异构计算与全场景边缘计算架构

引言:安防开发的“深水区” 在安防智能化转型的下半场,开发者和集成商面临的挑战已不再是单纯的“视频调取”,而是如何解决异构芯片适配难、流媒体协议分发繁琐、AI 算力调度低效等核心痛点。从海康、大华等传统硬件协议的兼容,到…...

将ClaudeCode编程助手无缝对接至自有开发工作流

将ClaudeCode编程助手无缝对接至自有开发工作流 对于习惯使用ClaudeCode的开发者而言,将其强大的代码生成与解释能力集成到现有的开发工作流中,可以显著提升日常编码效率。Taotoken平台提供的Anthropic兼容API通道,使得这一集成过程变得直接…...

终极泰坦之旅装备管理指南:TQVaultAE让你的游戏体验焕然一新

终极泰坦之旅装备管理指南:TQVaultAE让你的游戏体验焕然一新 【免费下载链接】TQVaultAE Extra bank space for Titan Quest Anniversary Edition 项目地址: https://gitcode.com/gh_mirrors/tq/TQVaultAE 还在为《泰坦之旅》中堆积如山的装备而烦恼吗&#…...