4

ピンチイベントを検出して、ユーザーが画像をズームイン/ズームアウトできるようにするために、jQuery touchyプラグインを使用しています。これが私のコードの要点です:

変数w = 800、
    h = 600;
$('img').on('touchy-pinch', function (e, $target, data) {
    $(this).css({
        幅: w * data.scale,
        高さ: h * data.scale
    });
});

カスタム データ オブジェクトには次のものが含まれます。

  • 規模
  • 以前のスケール
  • 現在のポイント
  • 出発地点
  • 開始距離

最初のピンチでは問題なく動作しますが、指が画面から離れてからもう一度やり直そうとすると、画像が再拡大されます。画像が再スケーリングするのではなく、中断したところから継続するようにハンドラーを変更するにはどうすればよいですか? previousScale もリセットされるだけなので、データの previousScale を使用しても役に立ちませんでした。

4

1 に答える 1

3

ここでの問題は、変数 w と h をスケーリング後の値にリセットせず、css のみをリセットしていないため、別のスケール イベントでスタイルが 800x600 に戻ることです。スケールイベントに設定さw*data.scaleれた永続的な w と h が必要です。h*data.scale

于 2012-09-10T16:53:02.243 に答える