移动端手指放大缩小插件与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中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
Nov 03 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
Jun 09 Javascript
JS字符串函数扩展代码
Sep 13 Javascript
javascript实现简单的贪吃蛇游戏
Mar 31 Javascript
jQuery里filter()函数与find()函数用法分析
Jun 24 Javascript
js判断主流浏览器类型和版本号的简单实现代码
May 26 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 Javascript
基于Bootstrap框架实现图片切换
Mar 10 Javascript
Angular2入门教程之模块和组件详解
May 28 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
Nov 04 Javascript
JS对象属性的检测与获取操作实例分析
Mar 17 Javascript
vue elementui tree 任意级别拖拽功能代码
Aug 31 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入门
2006/10/09 PHP
SSI指令
2006/11/25 PHP
程序员编程十条戒律
2009/07/09 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
PHP引用的调用方法分析
2016/04/25 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
Django框架实现的分页demo示例
2019/05/25 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
详解python内置模块urllib
2020/09/09 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
C语言面试题
2013/05/19 面试题
保安队长职务说明书
2014/02/23 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
小学中等生评语
2014/12/29 职场文书
导游词之包公祠
2019/11/25 职场文书
4种方法python批量修改替换列表中元素
2022/04/07 Python