首页 / 知识
JavaScript实现鼠标滚轮控制页面图片切换
2023-04-11 14:57:00
最常见就是图片的切换了,能通过滚动滚轮进行图片的浏览,省得用户还要去点下一张,做这种繁琐的步骤。来看个简单的例子吧。
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>鼠标通过滚动滚轮切换图片</title>
<style>
#picBox{
width:800px;height:600px;
margin:70pxauto;
}
</style>
<script>
varnowPic=1;
functionMouseWheel(e){
varpic;
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";
}elseif(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
</script>
</head>
<body>
<h3align="center">鼠标通过滚动滚轮切换图片</h3>
<pid="picBox">
<imgsrc="http://picm.bbzhi.com/dongwubizhi/dongwuheji/dongwuheji_69803_m.webp"width="800px"height="600px"id="pic1">
<spanstyle="white-space:pre"></span><imgsrc="http://pic1a.nipic.com/2008-12-22/2008122204359187_2.webp"width="800px"height="600px"id="pic2"style="display:none;">
<spanstyle="white-space:pre"></span><imgsrc="http://imgphoto.gmw.cn/attachement/jpg/site2/20121221/002564a60ce4123e17614e.webp"width="800px"height="600px"id="pic3"style="display:none;">
</p>
</body>
</html>
重点讲解下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循环只是让图片有顺序的隐藏和显示,相信这个不难看懂。
本文转载自中文网 |
最新内容
相关内容
python如何控制内存
python如何控制内存,名称,情况,系统,定期,管理,数字,数据,培训,对象,内存,python控制内存的方法:一、对象的引用计数机制二、垃圾回收机制三、Python如何实现excel筛选
Python如何实现excel筛选,数据,培训,表示,缺失,表格,示例,模块,手工,以上,标签,python实现筛选Excel数据可以使用pandas库来实现,具体的使用示python如何实现手动输入文字
python如何实现手动输入文字,培训,表达式,字符串,函数,整数,示例,语法,以上,参数,文字,python中可以使用input()函数接收用户输入的文字。函cmd无法实现启动python怎么办?
cmd无法实现启动python怎么办?,系统,培训,电脑,环境变量,变量,方法,问题,引号,结尾,属性,cmd无法实现启动python,原因是环境变量的问题。设置环用python怎么实现判断素数
用python怎么实现判断素数,数字,代码,情况,培训,质数,素数,自然数,不是,循环体,用户,python质数(Primenumber),又称素数,指在大于1的自然数中,除python的for循环如何实现
python的for循环如何实现,培训,变量,阶乘,对象,范围,方法,赋值,语法,元素,格式,python的for循环实现的方法:for循环专门用于遍历范围、列表、python移动端页面适配的四大方式
python移动端页面适配的四大方式,培训,页面,方式,python实现线程安全的单例模式
python实现线程安全的单例模式,培训,线程,模式,python如何实现继承
python如何实现继承,培训,概念,名称,方法,定义,个人,属性,接口,过程,能力,python实现继承的方法:通过继承创建的新类称为“子类”或“派生类”python生成器如何实现
python生成器如何实现,数据,培训,生成器,函数,程序,语句,方法,定义,外部,功能,python生成器实现方法:生成器和迭代器的功能非常相似,它也会提供pythonjavascript的区别
pythonjavascript的区别,培训,设计,教育,工具,原型,对象,区别,范式,脚本语言,实例,python和Javascript都是脚本语言,所以它们有很多共同的特性python如何保存图片
python如何保存图片,图片,数字,软件,系统,代码,培训,价格,发展,5G,以上,一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺