移动端手指放大缩小插件与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 parsefloat parseint 转换函数
Jan 21 Javascript
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
jquery图片放大功能简单实现
Aug 01 Javascript
用jquery的方法制作一个简单的导航栏
Jun 23 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
javascript实现九宫格相加数值相等
May 28 Javascript
Javascript将JSON日期格式化
Aug 23 Javascript
React快速入门教程
Jan 17 Javascript
angular.fromJson与toJson方法用法示例
May 17 Javascript
简单实现JavaScript弹幕效果
Aug 27 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 jQuery
ES6之Proxy的get方法详解
Oct 11 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 SQL之where语句生成器
2009/03/24 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
python实现同时给多个变量赋值的方法
2015/04/30 Python
python和JavaScript哪个容易上手
2020/06/23 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
美国知名艺术画网站:Art.com
2017/02/09 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
What is view? why do we have view?
2012/06/22 面试题
银行竞聘演讲稿范文
2014/04/23 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP