★精品文档★
用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
Budgetvm(原EZ机房),2005年成立的美国老品牌机房,主打美国4个机房(洛杉矶、芝加哥、达拉斯、迈阿密)和日本东京机房的独立服务器和VPS业务,而且不限制流量,默认提供免费的1800G DDoS防御服务,支持IPv6和IPMI,多种免费中文操作系统可供选择,独立服务器主打大硬盘,多硬盘,大内存,用户可以在后台自行安装系统等管理操作!内存可定制升级到1536G,多块硬盘随时加,14TBSA...
sharktech怎么样?sharktech (鲨鱼机房)是一家成立于 2003 年的知名美国老牌主机商,又称鲨鱼机房或者SK 机房,一直主打高防系列产品,提供独立服务器租用业务和 VPS 主机,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹,所有产品均提供 DDoS 防护。此文只整理他们家10Gbps专用服务器,此外该系列所有服务器都受到高达 60Gbps(可升级到 100Gbps)的保护。...
我们很多老用户对于BuyVM商家还是相当熟悉的,也有翻看BuyVM相关的文章可以追溯到2014年的时候有介绍过,不过那时候介绍这个商家并不是很多,主要是因为这个商家很是刁钻。比如我们注册账户的信息是否完整,以及我们使用是否规范,甚至有其他各种问题导致我们是不能购买他们家机器的。以前你嚣张是很多人没有办法购买到其他商家的机器,那时候其他商家的机器不多。而如今,我们可选的商家比较多,你再也嚣张不起来。...