★精品文档★
用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
无忧云怎么样?无忧云服务器好不好?无忧云值不值得购买?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点...
弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统,目前推出全场vps新开7折,...
易探云怎么样?易探云最早是主攻香港云服务器的品牌商家,由于之前香港云服务器性价比高、稳定性不错获得了不少用户的支持。易探云推出大量香港云服务器,采用BGP、CN2线路,机房有香港九龙、香港新界、香港沙田、香港葵湾等,香港1核1G低至18元/月,183.60元/年,老站长建站推荐香港2核4G5M+10G数据盘仅799元/年,性价比超强,关键是延迟全球为50ms左右,适合国内境外外贸行业网站等,如果需...