鼠标上的滚轮是一个不错的东东,为什么这么说,因为它能帮助我们快速的浏览网页,快速的进行长篇文章的阅读。对于web前端的我们来说又怎么能不注重这个鼠标滚轮呢,那么它能如何让用户更好的浏览网页呢?本文主要介绍JavaScript实现鼠标滚轮控制页面图片切换功能,涉及javascript事件响应及页面元素动态操作相关实现技巧,需要的朋友可以参考下,希望能帮助到大家。

最常见就是图片的切换了,能通过滚动滚轮进行图片的浏览,省得用户还要去点下一张,做这种繁琐的步骤。来看个简单的例子吧。/p>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

鼠标通过滚动滚轮切换图片

#picBox{

width:800px;height:600px;

margin:70px auto;

}

var nowPic=1;

function MouseWheel(e){

var pic;

e=e||window.event;

for(i=1;i<4;i++){

if(i==nowPic){

if(e.wheelDelta){//IE

pic=document.getElementById("pic"+i);

pic.style.display="block";

}else if(e.detail){//Firefox

pic=document.getElementById("pic"+i);

pic.style.display="block";

}

}else{

pic=document.getElementById("pic"+i);

pic.style.display="none";

}

}

if(nowPic>=3){

nowPic=1;

}else{

nowPic++;

}

}

/*Firefox注册事件*/

if(document.addEventListener){

document.addEventListener("DOMMouseScroll",MouseWheel,false);

}

window.onmousewheel=document.onmousewheel=MouseWheel;//IE/Opera/Chrome

鼠标通过滚动滚轮切换图片

重点讲解下js代码,不同的浏览器鼠标滚轮事件也不一样,说白点就是兼容性问题,主要是有两种,onmousewheel(IE/Opera/Safari/Chrome)和DOMMouseScroll(Firefox),如果想兼容firefox,应采用addEventListener监听,这个函数有3个参数,addEventListener(type,listener,useCapture),type就是click,focus......类型,而listener可以直接写方法function(){},也可以调用写好的方法体,如我的例子。useCapture是一个布尔值,只有true和false,表示该事件的响应顺序,选false则采用bubbing(冒泡)方式,选项true采用Capture方式。对于addEventListener以后会出一个详解。

在MouseWheel方法中e.wheelDelta兼容IE等其它浏览器,每当滚动一次滚轮会返回+3/-3(上滚/下滚),而e.detail兼容Firefox浏览器,每当滚动一次滚轮会返回+120/-120(上滚/下滚),通过这些返回的值可以做出是向上还是向下滚动的判断。而for循环只是让图片有顺序的隐藏和显示,相信这个不难看懂。

文中错误与疏漏之处欢迎大家指正。

相关推荐:

html鼠标滑轮换图片,JavaScript实现鼠标滚轮控制页面图片切换相关推荐

  1. vue 组件封装 | s-fullpage 全屏滚动 (内含绑定鼠标滑轮滚动事件、避免鼠标滑轮连续滚动、滑动过渡动画等实用技巧)

    目录 目标 实现原理(要点) 完整代码 s-fullpage 和 s-fullpageItem s-fullpage.vue s-fullpageItem.vue 使用范例 范例效果 目标 实现类似插 ...

  2. CSS学习记录3.2/设置标签的背景颜色/控制背景图片的平铺方式/控制背景图片的位置/背景图片关联方式/背景图片和插入图片的区别/捕鱼达人背景练习/精灵图

    设置标签的背景颜色: CSS中的background-color:属性,就是专门用来设置标签.bc+table 设置背景图片: CSS中的background-image: url( );的属性就是设 ...

  3. html 鼠标经过表格列,JavaScript实现鼠标经过表格某行时此行变色

    本文实例为大家分享了js鼠标经过表格某行时此行变色的具体代码,供大家参考,具体内容如下 表格表头为蓝色,表主体为白色,当鼠标放到表的非表头行时,这一行颜色变为黄色,鼠标离开时黄色消失. 鼠标经过表格变 ...

  4. php鼠标点击事件,javascript模拟鼠标点击事件的实例代码

    javascript触发模拟鼠标点击事件 事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,高级浏览器(chrome,firefox等)有dispatchEvent方法. 一般 ...

  5. 如何解决用户对浏览器进行缩放或滚动鼠标滑轮、或调节屏幕显示百分比后,页面变形或显示不全

    1.单独的响应式布局hold不住这个问题,因为出问题的是device-pixel-ratio 2.问题现象是高分屏下整好的东西,在普分屏下会放大:而普分屏下整好的东西,在高分屏上会缩小. 3.重现这个 ...

  6. HTML中弹窗中加入图片,javascript里怎么实现点击图片弹出对话框?

    JavaScript中可以使用document.getElementsByTagName方法后去img标签,然后遍历所有img标签并为其添加点击事件实现点击弹出对话框. JavaScript实现点击图 ...

  7. matplotlib 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像

    分享一下关于matplotlib 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像的代码 先看效果: 1.鼠标左键拖动坐标图像 # 鼠标左键拖拽事件 self.lastx = 0 # 获取鼠标按下时的坐标X ...

  8. 图片随鼠标滑轮滚动变大变小

    * 图片随鼠标滑轮滚动变大变小,最大不超过屏幕宽度-360 */ <HTML> <HEAD> <meta http-equiv="Content-Type&qu ...

  9. 使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理。距离远时图片放大,距离近时图片缩小

    查看本章节 查看作业目录 需求说明: 使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理.距离远时图片放大,距离近 ...

最新文章

  1. PS切图篇(一)---界面设置
  2. 在CentOS 6.8 x86_64的nginx 1.10.3上开启http2功能
  3. 深入浅出Pytorch:02 PyTorch基础知识
  4. Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()
  5. lua 区间比较_Lua(模糊查找):判断两个字符串(含中文)是否存在至少一个相同
  6. Springboot整合Hikari数据库连接池,密码加密
  7. 辅助模式最终考验的是想象力,先来看看怎么用!| Accessibility
  8. 作为一个有理想的程序员,必读的书都有哪些?
  9. android-手势-基础知识总结
  10. Spark SQL将rdd转换为数据集-以编程方式指定模式(Programmatically Specifying the Schema)
  11. 【渝粤教育】国家开放大学2018年春季 0434-21T高级英语口语 参考试题
  12. C# 获取当前执行程序路径 获取路径 上上层目录 上层目录
  13. 从辉煌走向消亡(下)——小型机之王DEC公司
  14. python数字时钟
  15. 电脑使用过程中“xx指令引用的xx内存。该内存不能为written或read”的解决方案!
  16. 基于Proteus学习单片机系列(二)——驱动数码管
  17. 题解 乃爱与城市拥挤程度
  18. 联想笔记本电脑键盘灯怎么开启_联想的键盘灯怎么开_联想笔记本键盘亮灯按哪个键-win7之家...
  19. 孕妇 计算机房,孕妇可以进机房吗
  20. js 唤端(js唤起手机App)

热门文章

  1. 【计算机网络复习】1.2.4 TCP/IP参考模型和5层参考模型
  2. 成员变量、局部变量、实例变量、静态变量、类变量、常量
  3. sqlmap的简单用法
  4. spark mysql 交互_Spark - 直接操作数据源 MySQL
  5. c++ opencv 通过网络连接工业相机_摄像头和机器人视觉开发中的「相机标定」,你了解多少?...
  6. OpenCV可移植图形工具HighGUI实现图像和视频操作
  7. 编译和使用APUE的源码
  8. 《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记
  9. find()matlab,Matlab 之 find()函数
  10. C++学习之路 | PTA乙级—— 1086 就不告诉你 (15 分)(精简)