指のズーム画像を達成するための小型マイクロチャネルプログラム

コード

ページ({ 
    データ:{ 
        タッチ:{ 
            距離: 0 
            スケール: 1 
            ベース幅:ヌル
            baseHeight:ヌル
            ScaleWidth:ヌル
            ScaleHeightの値:NULL 
        } 
    }、
    touchstartCallback:関数(E){
         // 、シングルフィンガーズーム開始、無治療しない場合(e.touches.length == 1)のリターンはconsole.log (「 二本指のトリガスタート」)
        //距離が初期化されるとき、バグの増幅プロセスは、// 2本の指を置く瞬間があるときtouchstartCallbackが本当にコード//最初は、私はこのコールバックをしませんでしたし始めた注意してください、そこに削減されます。= xMove e.touches LETの.clientX - e.touches [0] .clientX [1]; 
        せyMove e.touches = .clientY - e.touches [0 [1] ] .clientY; 
        LET距離 = Math.sqrt(xMove xMove yMove * + * yMove);
         この.setData({
            'touch.distance' 距離、
        })
    }、
    touchmoveCallback:機能(E){ 
        letのタッチ = この.data.touch
         // 我々は何もしない1本指ズーム(e.touches.length == 1)リターンはconsole.log場合 ( ' 2本の指の動き') 
        [1] - e.touches [0 LETはxMove = .clientXをe.touches] .clientX; 
        せyMove = e.touches [1] .clientY - e.touches [0。] .clientY;
         // 新しい距離= Math.sqrtのlet ditance(+ yMove xMove xMove * * yMove); 
        せdistanceDiff距離= - touch.distance; 
        LET newScale社 = + 0.005 * touch.scale distanceDiff
         // 大きすぎる規模を防止するために、最小値は同じトークンである規模を制限する必要がある場合(newScale社> = 2){ 
            newScale社= 2 
        } 
        IF(newScale株式会社< 0.6 = ){ 
            newScale社 = 0.6 
        } 
        せScaleWidth = newScale社* touch.baseWidth 
        LETのScaleHeightの値 = newScale社*touch.baseHeight
         // 代入新しい=>古いthis.setData({ 
           'touch.distance' 距離、
            'touch.scale' :newScale株式会社、
            'touch.scaleWidth' :ScaleWidth、
            'touch.scaleHeight' :ScaleHeightの値、
            " touch.diff ' :distanceDiff 
        })
    } 
    :bindload 関数(E){
       //はthis.setDataのAPIのAPIである<画像>アセンブリ類似<IMG>のonload属性({bindload 
          touch.baseWidth'' e.detailました: .width、
           'touch.baseHeight' :e.detail.height、
           'touch.scaleWidth':e.detail.width、
          'touch.scaleHeight' :e.detail.height 
      })
    } 
})

次のようにWXMLコードがあります

< ビュークラス= "コンテナ" > 
    < ビューbindtouchmove = "touchmoveCallback" bindtouchstart = "touchstartCallback" > 
        < 画像SRC = "../../リソース/ PIC /はcat.jpg" スタイル= "幅:{{touch.scaleWidth }} PX;高さ:{{touch.scaleHeight}} PX」bindload = "bindload" > </ 画像> 
    </ ビュー> 
</ ビュー>

 

おすすめ

転載: www.cnblogs.com/yangshuzhong/p/11528127.html