2012-09-10 8 views
5

私はピンチイベントを検出するためのプラグインを使用して、ユーザーが画像をズームイン/ズームアウトできるようにしています。ピンチジェスチャーの画像のスケーリング

 
var w = 800, 
    h = 600; 
$('img').on('touchy-pinch', function (e, $target, data) { 
    $(this).css({ 
     width: w * data.scale, 
     height: h * data.scale 
    }); 
}); 

カスタムデータオブジェクトは、以下が含まれます:

  • 規模
  • previousScale
  • CurrentPointの
  • にstartPoint
  • startDistance
ここに私のコードの要点です

最初のピンチでうまくいきますが、指を画面から離してからもう一度やり直すと、画像が元のサイズに戻ります。イメージを再スケールするのではなく途中で続けるように、ハンドラーを変更するにはどうすればよいですか? previousScaleがリセットされただけで、データのpreviousScaleを使用することは役に立たなかった。

答えて

4

ここで問題となるのは、vars wとhをポストスケール値(cssのみ)にリセットしないため、別のスケールイベントでスタイルが800x600に戻ってしまうことです。スケールイベントでw*data.scaleh*data.scaleに設定された永続的なwとhが必要です。

関連する問題