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


Posted in Javascript onMay 22, 2017

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

<!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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 事件绑定函数代码
Apr 28 Javascript
原生js写的放大镜效果
Aug 22 Javascript
详谈javascript中DOM的基本属性
Feb 26 Javascript
js实现有时间限制消失的图片方法
Feb 27 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
Feb 12 Javascript
浅谈js for循环输出i为同一值的问题
Mar 01 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
May 02 Javascript
JS中使用media实现响应式布局
Aug 04 Javascript
vue+springmvc导出excel数据的实现代码
Jun 27 Javascript
bootstrap中的导航条实例代码详解
May 20 Javascript
深入浅析vue中cross-env的使用
Sep 12 Javascript
jQuery滑动到底部加载下一页数据的实例代码
May 22 #jQuery
详解Angular路由 ng-route和ui-router的区别
May 22 #Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 #Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
May 22 #Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 #Javascript
JS实现上传图片实时预览功能
May 22 #Javascript
详解Angular 4.x NgIf 的用法
May 22 #Javascript
You might like
php ctype函数中文翻译和示例
2014/03/21 PHP
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
多广告投放代码 推荐
2006/11/13 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
VUE重点问题总结
2018/03/19 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
Python实现进程同步和通信的方法
2018/01/02 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
2018/04/28 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
django项目搭建与Session使用详解
2018/10/10 Python
python中tab键是什么意思
2020/06/18 Python
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
TCP/IP模型的分界线
2012/12/01 面试题
船舶专业个人求职信范文
2014/01/02 职场文书
学校火灾防控方案
2014/06/09 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
辞职信格式模板
2015/02/27 职场文书
学生安全责任协议书
2016/03/22 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android
关于vue-router-link选择样式设置
2022/04/30 Vue.js