您现在的位置是:网站首页> 编程资料编程资料
用HTML5实现鼠标滚轮事件放大缩小图片的功能解决HTML5手机端页面缩放的问题HTML5实现可缩放时钟代码可使任何HTML元素动态缩放适合父元素的js插件scalable.jsHtml5之svg可缩放矢量图形_动力节点Java学院整理HTML5全屏响应式缩放切换幻灯片代码HTML5基于SVG实现可拖拽和缩放的世界地图效果源码HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述HTML5添加禁止缩放功能
2021-08-31
904人已围观
简介 这篇文章主要介绍了用HTML5实现鼠标滚轮事件放大缩小图片的功能,其中Safari浏览器用户要注意是否禁用了鼠标滚动控制页面滑动的功能,需要的朋友可以参考下
你我都知道在HTML5网页中添加鼠标滚轮事件能够更好的让用户与网页进行交互操作。而在HTML5中,鼠标滚轮并不仅仅就只能上下滑动网页,实际上你还可以依靠这个完成更多的功能,比如视野平面的放大与缩小。
看看实际演示效果
大部分浏览器都是支持鼠标滚轮事件的,所以你可以先订阅鼠标滚轮事件的方法,每当事件被触发时,你能获取一个名为 wheelDelta 的属性,它代表刚才鼠标滚轮改变的大小,其中正值表示滚轮往下滑动,负值表示滚轮往上滑动。数值的绝对值越大,滑动范围越大。
但不幸的是依然有一款浏览器是不支持鼠标滚轮事件的。那就是FireFox。Mozilla 已经实现了一个名为"DOMMouseScroll"的事件的处理,它会传递一个名为 event 且附带了名为 detail 属性的事件参数过来,然而,这个 detail 属性不同于 wheelDelta,它只能返回正值,即只能坚持鼠标滚轮向下滚动的值。
你应该特别注意一下,Apple公司在Safari浏览器中也禁用了鼠标滚动控制页面上下滑动,但是此功能依然在webkit引擎中正常使用的,所以你写的代码是不会触发什么问题的。
添加鼠标滚轮事件处理方法
首先我们在网页中添加一个图片,待会就能用鼠标滚轮控制此图片的缩放
- <img id="myimage" src="myimage.jpg" alt="my image" />
现在来添加鼠标滚轮事件处理代码
- var myimage = document.getElementById("myimage");
- if (myimage.addEventListener) {
- // IE9, Chrome, Safari, Opera
- myimage.addEventListener("mousewheel", MouseWheelHandler, false);
- // Firefox
- myimage.addEventListener("DOMMouseScroll", MouseWheelHandler, false);
- }
- // IE 6/7/8
- else myimage.attachEvent("onmousewheel", MouseWheelHandler);
为了让不同浏览器都能支持的处理做法
在下面这个案例中,我们将对Firefox的detail值取反然后返回1或者-1的其中一个
- function MouseWheelHandler(e) {
- // cross-browser wheel delta
- var e = window.event || e; // old IE support
- var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
现在我们直接决定图片的大小范围。以下代码将图片的宽度范围设置在50-800个像素之间
- myimage.style.width = Math.max(50, Math.min(800, myimage.width + (30 * delta))) + "px";
- return false;
- }
最后一点,我们在方法中返回false是为了终止标准的鼠标滚轮事件处理,以防它上下滑动网页。
查看实际演示
相关内容
- 检测浏览器对HTML5和CSS3支持度的方法2013年五大主流浏览器 HTML5 与 CSS3 兼容性大比拼让你的HTML5&CSS3网站在微软的浏览器中也能运行IE9beta版本浏览器对HTML5/CSS3的支持各大浏览器 CSS3 和 HTML5 兼容速查表 图文不同浏览器对CSS3和HTML5的支持状况HTML5 CSS3新的WEB标准和浏览器支持关于老式浏览器兼容HTML5和CSS3的问题
- HTML5的一个显示电池状态的API简介浅谈HTML5 FileReader分布读取文件以及其方法简介HTML与XHTML、以及HTML4与HTML5标签之间的区别简介HTML5是什么 HTML5是什么意思 HTML5简介HTML5安全介绍之内容安全策略(CSP)简介HTML5的标签的代码的简单介绍 HTML5标签的简介html5新增的定时器requestAnimationFrame实现进度条功能HTML5新增加的功能详解iPhone5和iOS6上HTML5开发的新增功能html5简介及新增功能介绍
- 举例详解HTML5中使用JSON格式提交表单基于HTML5的WebGL实现json和echarts图表展现在同一个界面Html5中localStorage存储JSON数据并读取JSON数据的实现方法HTML5中使用json对象的实例代码
- 用HTML5制作视频拼图的教程HTML5拖拽API经典实例详解HTML5 拖拽批量上传文件的示例代码html5 canvas绘制可拖拽的3D立体文字效果源码html5 canvas绘制的可拖拽全屏3D地球旋转动画特效源码HTML5+Three.js WebGL实现的月球发光着色与拖拽动画效果源码HTML5拖拽的简单实例html5实现的网格图片鼠标拖动拼图游戏源码html5版canvas自由拼图实例HTML5拖拽功能实现的拼图游戏
- HTML5有哪些新特征HTML5新特性之type=file文件上传功能HTML5新特性之语义化标签HTML5新特性之用SVG绘制微信logo 整理HTML5的一些新特性与Canvas的常用属性基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作HTML5 history新特性pushState、replaceState及两者的区别 Html5新特性用canvas标签画多条直线附效果截图html5声频audio和视频video等新特性详细说明html5新特性与用法大全
- 浅析移动设备HTML5页面布局 Flex移动布局中单行和双行布局的区别及使用详解
- 深入浅析HTML5中的SVG基于html5实现的svg图标手机菜单动态特效源码html5基于svg实现圆形进度统计动画特效源码基于HTML5 SVG制作汉堡包菜单按钮分段动画效果深入解析HTML5使用SVG图像时的viewBox属性用法html5+svg学习指南之SVG基础知识HTML5+SVG实现的线性图表特效源码 可绘制图表区域颜色HTML5 SVG实现的Loading动画加载特效源码
- 基于HTML5代码实现折叠菜单附源码下载html5写一个BUI折叠菜单插件的实现方法
- HTML5标签使用方法详解关于HTML5语义标签的实践(blog页面)html5基于canvas实现的文字标签云3D旋转动画特效源码HTML5之语义标签介绍移动端html5 meta标签的神奇功效实例讲解HTML5的meta标签的一些应用 HTML与XHTML、以及HTML4与HTML5标签之间的区别简介HTML5安全攻防之新标签攻击详解简单介绍HTML5中audio标签的使用HTML5进阶段内联标签汇总(小篇)
- 推荐WEB开发者最佳HTML5和CSS3代码生成器移动端Web页面的CSS3 flex布局快速上手指南详解CSS制作Web页面条纹背景样式的技巧像素密度与CSS3的viewport在移动端Web响应式布局中的运用CSS实现带倒三角标记的WEB标准菜单效果代码CSS Web安全字体组合详解
