鼠标滚轮实现图片的缩放
来源:互联网 发布:闪电邮for mac 编辑:程序博客网 时间:2024/04/29 03:31
“滚轮滑动操作图片缩放”这个功能是我在网上无意中发现的,实际在想的过程中没有想到它的实用点在哪,不过还觉得蛮酷的就学习了下,这里也来记录下:
功能介绍:
将鼠标放在图片上,滚轮向上滑动,则图片不断变大,滚轮向下滑动,则图片不断减小
功能拆解分析:
1、第一个要关注的,就是获取滚轮事件的监听,能够获取到滚轮是在上滑还是下滑;
2、随着事件发生的不同,图片不断增加或者减少;
实例分析:
- <img id="img" src="run.gif" alt="跑" />
- <style type="text/css">
- * { margin:0; padding:0; }
- body { width:100%; height:100%; overflow:auto; }
- #img { display:block; width:20%; margin:20px auto; cursor:-webkit-zoom-in; cursor:-moz-zoom-in; border:4px solid #ccc; border-radius:4px; }
- </style>
- window.onload = function(){
- var img = document.getElementById("img");
- if(img.addEventListener){
- //ie9,chrome,safari,opera
- img.addEventListener("mousewheel",change,true);
- //firefox
- img.addEventListener("DOMMouseScroll",change,false);
- }
- else{
- //ie 6/7/8
- img.attachEvent("onmousewheel",change);
- }
1、首先在第一个参数中addEventListener中是单纯的事件名称,像mousewheel,而attachEvent中的第一个参数则是事件,像onmousewheel;
2、addEventListener中存在三个参数,第三个是个boolean值,而且必须写,false表示支持浏览器事件的冒泡功能(由里向外),true则表示浏览器事件的捕获功能(由外向里)【这个地方还没有理解透,啥不同呢,回头再分析吧】
3、兼容性,当时的楼主很全面的兼容了五大浏览器,让我这后来人占了好大便宜,赚到了
监听实现了之后,我们就要根据不同的事件作出不同的回应,这个就该写在我们的方法change()中了
- function change(e){
- var e = window.event||e;
- var oper = Math.max(-1, Math.min(1,(e.wheelDelta || -e.detail)));//wheelDelta和detail
- img.style.width = Math.max(50, Math.min(800,img.width + (30*oper)))+"px";
- return false;
- }
1、Math.max(a,b,c,d)参数可以取多个,取若干值中最大值,当然min就是对应的取最小值嘛;
2、e.wheelDelta||-e.detail,这个又是兼容性的表现了,貌似只有Firefox中使用detail,其他的都是wheelDelta,两者的意义都一样的,都有两个值,但是两个值是不同的detail只能取+/- 3,而wheelDelta则只能取+/- 120,但同样的是整数表示向上,负数表示向下;
3、剩余的逻辑就不说了,已经写的很简单明了了
转载自:http://blog.csdn.net/marSmile_tbo/article/details/38326297
- 鼠标滚轮实现图片的缩放-------Day79
- 鼠标滚轮实现图片的缩放
- 鼠标滚轮实现图片缩放
- 利用鼠标滚轮实现图片缩放
- jQuery 鼠标滚轮实现图片缩放
- jquery 鼠标滚轮实现图片缩放
- jquery 鼠标滚轮实现图片缩放
- WPF 鼠标滚轮对图片的缩放
- 鼠标滚轮缩放图片javascript
- js 鼠标滚轮缩放图片
- js实现鼠标滚轮控制图片缩放效果的方法(转)
- c# winform程序鼠标滚轮缩放图片遇到的问题
- 在C#中实现图片缩放(含asp.net用鼠标滚轮实现图片缩放)
- unity3D 鼠标滚轮实现物体的大小缩放
- 用滚轮实现图片缩放
- 用滚轮实现图片缩放
- jquery滚轮实现图片缩放
- 图片按比例缩放,鼠标滚轮调整大小
- 算法竞赛入门经典 例题 3-4 回文串
- 实验二:线性表实验
- Android系统自带样式(@android:style/)
- 回公司无聊和小冰聊天,很好奇她到底怎么想的
- 黑马程序员--Java基础之反射
- 鼠标滚轮实现图片的缩放
- louboutin femme pas cher ygptvyk73GWZQeQAEs
- 机会是看到发货看电视看附件是激烈的,是离开的合肥了。。
- redis设计思想
- Python3.x和Python2.x的区别
- hdu 5090 数列贪心加成1~n
- 局域网监控、网络监控软件之交换机端口镜像配置
- 多维数组初探
- 学神的“诞生”-2014清华大学本科生特等奖学金答辩观后感