★精品文档★
用HTML5实现鼠标滚轮事件放大缩小图片
功能
这篇文章主要介绍了用HTML5实现鼠标滚轮事件放大缩小图片的功能,其中 Safari浏览器用户要注意是否禁用了鼠标滚动控制页面滑动的功能,需要的朋友可以参考下
大部分浏览器都是支持鼠标滚轮事件的所以你可以先订阅鼠标滚轮事件的方法每当事件被触发时你能获取一个名为wheelDelta的属性它代表刚才鼠标滚轮改变的大小其中正值表示滚轮往下滑动负值表示滚轮往上滑动。数值的绝对值越大滑动范围越大。
但不幸的是依然有一款浏览器是不支持鼠标滚轮事件的。 那就是 FireFox。 Mozi l la 已经实现了一个名为”DOMMouseScrol l”的事件的处理它会传递一个名为event且附带了名为detai l属性的事件参数过来然而这个detai l属性不同于wheelDelta 它只能返回正值即只能坚持鼠标滚轮向下滚动的值。
你应该特别注意一下Apple公司在Safari浏览器中也禁用了鼠标滚动控制页面上下滑动但是此功能依然在webkit引擎中正常使用的所以你写的代码是不会触发什么问题的。
添加鼠标滚轮事件处理方法
首先我们在网页中添加一个图片待会就能用鼠标滚轮
1/4
★精品文档★
控制此图片的缩放
XML/HTML Code
< img id=“myimage” src=“myimage.jpg” alt=“myimage” /
现在来添加鼠标滚轮事件处理代码
XML/HTML Codevar myimage=document.getElementById(“myimage”); if (myimage.addEventListener) {
// IE9, Chrome, Safari , Opera
myimage.addEventListener(“mousewheel”,
MouseWheelHandler, false);
//Firefox
myimage.addEventListener(“DOMMouseScrol l”,
MouseWheelHandler, false);
}
// IE6/7/8 else myimage.attachEvent(“onmousewheel”,MouseWheelHandler);
2/4
★精品文档★
为了让不同浏览器都能支持的处理做法
在下面这个案例中我们将对F irefox的detai l值取反然后返回1或者-1的其中一个
XML/HTML Codefunction MouseWheelHandler(e) {
// cross-browser wheel delta
var e =window.event | | e; // old IEsupport
var delta =Math.max(-1 ,Math.min(1 ,(e.wheelDelta| | -e.detai l)));
现在我们直接决定图片的大小范围。以下代码将图片的宽度范围设置在50-800个像素之间
XML/HTML Code
myimage.style.width = Math.max(50,Math.min(800, myimage.width + (30 * delta))) + “px”;
return false;
}
最后一点我们在方法中返回fa lse是为了终止标准的鼠标滚轮事件处理以防它上下滑动网页。
3/4
★精品文档★
4/4
spinservers是Majestic Hosting Solutions LLC旗下站点,商家提供国外服务器租用和Hybrid Dedicated等产品,数据中心包括美国达拉斯和圣何塞机房,机器默认10Gbps端口带宽,高配置硬件,支持使用PayPal、信用卡、支付宝或者微信等付款方式。农历春节之际,商家推出了几款特别促销配置,最低双路E5-2630Lv3机器每月149美元起,下面列出几款机器...
快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。云服务器网(yuntue.com)小编之前已经介绍过很多快云科技的香港及美国云服务器了,这次再介绍一下新的优惠方案。目前,香港云沙田CN2云服务器低至29元/月起;美国超防弹性云/洛杉矶CUVIP低至33.6元/月起。快云科技的云主机架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10...
有一段时间没有分享Gcore(gcorelabs)的信息了,这是一家成立于2011年的国外主机商,总部位于卢森堡,主要提供VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日本、韩国、新加坡、荷兰、中国(香港)等多个国家和地区的十几个机房,商家针对不同系列的产品分为不同管理系统,比如VPS(Hosting)、Cloud等都是独立的用户中心体系,部落分享的主要是商家的Hosting(Virtu...