首页 > 编程 > JavaScript > 正文

移动端手指放大缩小插件与js源码

2019-11-19 16:31:42
字体:
来源:转载
供稿:网友

本文实例为大家分享了移动端手指放大缩小的具体代码,供大家参考,具体内容如下

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <title>缩放</title> <style>  #box{width:100px;   height:100px;  background: red;}  html,body{width:100%;height:100%; overflow:hidden;} </style> <script>   document.addEventListener('DOMContentLoaded',function() {    var c=1;//先定义一个初始值    var oBox=document.getElementById('box');    document.addEventListener('touchstart',function (ev) {//手指点下     var oldC=c;//把初始值放到oldC里面     function getC(ev) {      var x1=ev.targetTouches[0].pageX;      var y1=ev.targetTouches[0].pageY;//两根手指缩放肯定需要两根手指,【0】第一根手指的Xy的坐标      var x2=ev.targetTouches[1].pageX;//第二根手指的坐标      var y2=ev.targetTouches[1].pageY;      var a=x1-x2;//第一根手指的pageX-第二根手指的pageX,这样正好是一个之间三角形 得到两个直角边;      var b=y1-y2;//同上      return Math.sqrt(a*a+b*b)//已知两个直角边开平方得出 斜角边     }     if(ev.targetTouches.length==2){//判断是否是两根手指 是的话 把两根手指点上去的时候的 斜脚边的初始值 放到 downC里面      var downC=getC(ev);     }     document.addEventListener('touchmove',function (ev) { //手指移动的时候      if(ev.targetTouches.length==2){//判断移动的时候是否是两根手指       c=getC(ev)/downC+oldC;//这个时候的getC(ev)是move时候的,用移动后的斜脚边的值除没移动的值加上他的初始值,       oBox.style.webkitTransform='scale('+c+')';//通过scale----2D缩放转换      }     },false)    },false)   },false) </script></head><body> <div id="box"></div></body></html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表