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

 更新时间:2017年05月22日 11:28:44   作者:MauriceChans  
这篇文章主要介绍了移动端手指放大缩小插件与js源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

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

相关文章

  • js判断图片加载完成后获取图片实际宽高的方法

    js判断图片加载完成后获取图片实际宽高的方法

    这篇文章主要介绍了js判断图片加载完成后获取图片实际宽高的方法,涉及JavaScript图片加载及属性操作相关技巧,需要的朋友可以参考下
    2016-02-02
  • JavaScript时间格式化函数功能及使用示例

    JavaScript时间格式化函数功能及使用示例

    这篇文章主要为大家介绍了JavaScript时间格式化函数功能及使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 十个JavaScript lodash中的高频使用方法整理

    十个JavaScript lodash中的高频使用方法整理

    本文梳理lodash中那些高频使用的超究极无敌好用方法,熟练使用下面的十个方法能够让你的代码原地起飞,为你的开发之旅极大的减轻心智负担,快跟随小编一起学习一下吧
    2024-01-01
  • 用ajax实现的自动投票的代码

    用ajax实现的自动投票的代码

    用ajax实现的自动投票的代码...
    2007-03-03
  • 详细讲解js实现电梯导航的实例

    详细讲解js实现电梯导航的实例

    对于某一个页面内容繁多,如果我们滚动的时间较长,为了增加用户体验,我们需要实现点击某一个按钮,然后滚动到对应的区域,滚动的时候,右侧对应的分类实现高亮,所以本文给大家详细介绍讲解了js实现电梯导航,需要的朋友可以参考下
    2023-10-10
  • pdfh5.js的使用方法以及解决遇到的坑

    pdfh5.js的使用方法以及解决遇到的坑

    这篇文章主要给大家介绍了关于pdfh5.js的使用方法以及解决遇到的坑的解决办法,pdfh5.js基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件,需要的朋友可以参考下
    2024-02-02
  • JS技巧之一行赋值语句能玩出多少花样

    JS技巧之一行赋值语句能玩出多少花样

    很多前端只会谢谢页面,一让他们接触js,就非常害怕,下面这篇文章主要给大家介绍了关于JS技巧之一行赋值语句能玩出多少花样的相关资料,需要的朋友可以参考下
    2022-10-10
  • JavaScript实现省市联动效果

    JavaScript实现省市联动效果

    这篇文章主要介绍了JavaScript实现省市联动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Dom加载让图片加载完再执行的脚本代码

    Dom加载让图片加载完再执行的脚本代码

    当大家使用window.onload执行一个函数时,必须要等到页面上的图片等信息全部加载完毕之后才执行的。但很多时候图片的数量比较多,所以需要很多时间下载。更令人尴尬的是,当网页文档(或者说Dom)已经加载完毕,而图片尚未加载完毕,很多用户已经开始浏览网页,但这时很多由window.onload所触发的函数不能执行,这就导致一部分功能不能完美地给用户使用,更严重的是会给用户留下不好的印象!
    2008-05-05
  • 详解JavaScript Alert函数执行顺序问题

    详解JavaScript Alert函数执行顺序问题

    本文主要介绍了Javascript的Alert函数执行顺序问题,对此感兴趣的同学,可以实验一下,以便解决平时遇到的一些奇怪的问题。
    2021-05-05

最新评论