移動端手指放大縮小外掛程式與js源碼,手指放大縮小js源碼

來源:互聯網
上載者:User

移動端手指放大縮小外掛程式與js源碼,手指放大縮小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>

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.