手机端图片点击预览,双指放大,完整demo,引入hammer.js

news/2024/11/8 15:23:35/

代码凌乱,自己写的绝对能用!

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">*{padding:0px;margin:0px;}html{height:100%;}body{height:100%;}.main{width: 3.75rem;position: relative;height:100%; margin: 0 auto; background: #eee}.main h1{font-size:0.16rem;}.main img{max-width: 100%}.box {width: 3.75rem;height:100%;background: #333;position: absolute;top:0px;left:0px;margin: 0 auto;align-items: center; /*定义body的元素垂直居中*/justify-content: center; /*定义body的里的元素水平居中*/display: none;overflow: hidden}.box img{width:100%;position: absolute;               }</style><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /><script type="text/javascript">(function (doc, win) {//这段代码是做手机端rem适应的var docEl = doc.documentElement,resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',recalc = function () {var clientWidth = docEl.clientWidth;if (clientWidth>640){clientWidth=640 }if (!clientWidth) return;else{docEl.style.fontSize = clientWidth / 3.75 + 'px';}};if (!doc.addEventListener) return;win.addEventListener(resizeEvt, recalc, false);doc.addEventListener('DOMContentLoaded', recalc, false);})(document, window);</script></head><body><div class="main"><h1>点击这个图片进行预览</h1><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1545628346247&di=f2fcd4f88291e0f60d6599602ee8ab20&imgtype=jpg&src=http%3A%2F%2Fimg1.imgtn.bdimg.com%2Fit%2Fu%3D3304533311%2C1137740692%26fm%3D214%26gp%3D0.jpg"/><div class="box"><img src="" /></div></div><script src="https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">var pimg=document.querySelector("img");var oImg = document.querySelector(".box img");var oBox = document.querySelector(".box");pimg.onclick=function(){oBox.style.display="flex"oImg.src=pimg.src}oBox.onclick=function(){oBox.style.display="none"oImg.src=''}var hammer = new Hammer(oImg);//hammer实例化hammer.get('pan').set({direction: Hammer.DIRECTION_ALL});//激活pan(移动)功能hammer.get('pinch').set({enable: true});//激活pinch(双指缩放)功能hammer.on("panstart", function(event) {var left = oImg.offsetLeft;var tp = oImg.offsetTop;hammer.on("panmove", function(event) {oImg.style.left = left + event.deltaX + 'px';oImg.style.top = tp + event.deltaY + 'px';});})hammer.on("pinchstart", function(e) {hammer.on("pinchout", function(e) {oImg.style.transition = "-webkit-transform 300ms ease-out";oImg.style.webkitTransform = "scale(2.5)";});hammer.on("pinchin", function(e) {oImg.style.transition = "-webkit-transform 300ms ease-out";oImg.style.webkitTransform = "scale(1)";});})</script></body></html>

 


http://www.ppmy.cn/news/769013.html

相关文章

如何将手机或相机里的照片视频批量传到 Mac

因为我喜欢摄影&#xff0c;所以经常得从手机和相机传输照片到 Mac &#xff0c;修完图后再转移到移动硬盘和网盘&#xff0c;以给手机和相机腾出存储空间。 如果你也有传照片视频到 Mac 的需求&#xff0c;可以看看下面这些方法&#xff0c;或许会有帮助。 从 iPhone 传照片…

纯HTML5+js 实现二维码扫描及拍照上传

上头最近新提的需求&#xff0c;要求web端实现扫描识别二维码自动跳转页面&#xff0c;并且其他二维码扫描工具扫描出来的结果&#xff0c;与本站点扫描出来的结果不一样 首先分析需求&#xff0c;这种功能一般用于移动设备&#xff0c;PC用的比较少。与其他工具扫描结果不一样…

图片预览(原生js实现)

功能描述 很多网站都是使用浏览器自带图片浏览功能&#xff0c;但看起来很low&#xff0c;想手动实现图片预览功能&#xff0c;点击图片弹出大图预览框在屏幕中间显示&#xff0c;根据图片宽高自适应屏幕大小 效果图 具体代码实现 页面preview.html <!DOCTYPE html> …

[Android] 通过Menu实现图片怀旧、浮雕、模糊、光照和素描效果

由于随手拍项目想做成类似于美图秀秀那种底部有一排Menu实现不同效果的功能,这里先简单介绍如何通过Menu实现打开相册中的图片、怀旧效果、浮雕效果、光照效果和素描效果.后面可能会讲述如何通过PopupWindow实现自定义的Menu效果. 希望文章对大家有所帮助,如果有错误或不足…

安卓端调用相机拍照返回并预览---清晰原图

安卓端调用相机拍照并返回预览图片 一、demo预览二、xml代码和activity简单代码描述。三、老规矩再来写几个转换工具方法 继之前写的安卓调用相机拍照返回预览&#xff0c;如果对于画质要求不高的话可以考虑之前的写的那篇&#xff0c;返回的是一个压缩后的bitmap &#xff0c;…

JavaScript进阶(八)JS实现图片预览并导入服务器功能

赠人玫瑰&#xff0c;手留余香。若您感觉此篇博文对您有用&#xff0c;请花费2秒时间点个赞&#xff0c;您的鼓励是我不断前进的动力&#xff0c;共勉&#xff01; 项目开发过程中&#xff0c;需要实现文件上传功能。借此机会学习之。 使用HTML中现有的input type “file”可以…

android图片特效处理之模糊效果

这篇将讲到图片特效处理的模糊效果。跟前面一样是对像素点进行处理&#xff0c;算法是通用的&#xff0c;但耗时会更长&#xff0c;至于为什么&#xff0c;看了下面的代码你就会明白。 算法&#xff1a; 一、简单算法&#xff1a;将像素点周围八个点包括自身一共九个点的RGB值…

解决H5调用安卓相机实现拍照并上传

最近在开发中遇到一个问题&#xff0c;要在APP内嵌的H5页面中实现拍照录像并上传到后端服务器。 刚开始我直接想到&#xff1a; <input type"file" accept"image/*" capture"camera"> 由于项目用vant UI&#xff0c;于是用了Uploader文…