本文摘自PHP中文网,作者小云云,侵删。
鼠标上的滚轮是一个不错的东东,为什么这么说,因为它能帮助我们快速的浏览网页,快速的进行长篇文章的阅读。对于web前端的我们来说又怎么能不注重这个鼠标滚轮呢,那么它能如何让用户更好的浏览网页呢?本文主要介绍JavaScript实现鼠标滚轮控制页面图片切换功能,涉及javascript事件响应及页面元素动态操作相关实现技巧,需要的朋友可以参考下,希望能帮助到大家。最常见就是图片的切换了,能通过滚动滚轮进行图片的浏览,省得用户还要去点下一张,做这种繁琐的步骤。来看个简单的例子吧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns= "http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" />
<title>鼠标通过滚动滚轮切换图片</title>
<style>
#picBox{
width:800px;height:600px;
margin:70px auto;
}
</style>
<script>
var nowPic=1;
function MouseWheel(e){
var pic;
e=e||window.event;
for (i=1;i<4;i++){
if (i==nowPic){
if (e.wheelDelta){
pic=document.getElementById( "pic" +i);
pic.style.display= "block" ;
} else if (e.detail){
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++;
}
}
if (document.addEventListener){
document.addEventListener( "DOMMouseScroll" ,MouseWheel,false);
}
window.onmousewheel=document.onmousewheel=MouseWheel;
</script>
</head>
<body>
<h3 align= "center" >鼠标通过滚动滚轮切换图片</h3>
<p id= "picBox" >
<img src= "http://picm.bbzhi.com/dongwubizhi/dongwuheji/dongwuheji_69803_m.jpg" width= "800px" height= "600px" id= "pic1" >
<span style= "white-space:pre" > </span><img src= "http://pic1a.nipic.com/2008-12-22/2008122204359187_2.jpg" width= "800px" height= "600px" id= "pic2" style= "display:none;" >
<span style= "white-space:pre" > </span><img src= "http://imgphoto.gmw.cn/attachement/jpg/site2/20121221/002564a60ce4123e17614e.jpg" 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循环只是让图片有顺序的隐藏和显示,相信这个不难看懂。
文中错误与疏漏之处欢迎大家指正。
相关推荐:
js控制页面字体大小的问题_html/css_WEB-ITnose
jQuery学习笔记之控制页面实现代码_jquery
js 控制页面跳转的5种方法_javascript技巧
以上就是JavaScript实现鼠标滚轮控制页面图片切换的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
用js怎么改变css样式
javascript如何改变背景
详解javascript中逻辑运算符
javascript document对象的方法有哪些
javascript如何加音乐
javascript函数前面加!、+、-、~, ;符号的意义介绍
如何实现ajax请求?
javascript中求和的方法
js怎么取整数
小程序中canvas如何实现图案在线定制的功能
更多相关阅读请进入《javascript》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » JavaScript实现鼠标滚轮控制页面图片切换