移动端手指放大缩小插件与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 深拷贝函数
Dec 04 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
Sep 09 Javascript
js中javascript:void(0) 真正含义
Nov 05 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
Nov 17 Javascript
Node.js中使用socket创建私聊和公聊聊天室
Nov 19 Javascript
js简单网速测试方法完整实例
Dec 15 Javascript
JavaScript中的Array 对象(数组对象)
Jun 02 Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 Javascript
AngularJS入门教程之静态模板详解
Aug 18 Javascript
动态加载权限管理模块中的Vue组件
Jan 16 Javascript
Node对CommonJS的模块规范
Nov 06 Javascript
vue使用openlayers实现移动点动画
Sep 24 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中处理模拟rewrite 效果
2006/12/09 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
Python实现线程池代码分享
2015/06/21 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
超简单使用Python换脸实例
2019/03/27 Python
Python之修改图片像素值的方法
2019/07/03 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
成教毕业生自我鉴定
2013/10/23 职场文书
优良学风班总结材料
2014/02/08 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
省文明单位申报材料
2014/05/08 职场文书
创建青年文明号材料
2014/05/09 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
详解非极大值抑制算法之Python实现
2021/06/28 Python
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫