在捏手势上缩放图像

时间:2012-09-10 16:49:47

标签: jquery html mobile touch pinch

我正在使用jQuery touchy插件来检测捏合事件,以便用户能够放大/缩小图像。这是我的代码的要点:

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

自定义数据对象包含以下内容:

  • 尺度
  • previousScale
  • 当前点
  • 的startPoint
  • startDistance

它在第一次捏时效果很好,但是一旦我的手指离开屏幕,然后我再次尝试再做,图像会重新缩小。如何修改我的处理程序,以便图像从中断处继续而不是重新缩放?使用数据的previousScale没有帮助,因为之前的Scale也会被重置。

1 个答案:

答案 0 :(得分:4)

这里的问题是你没有将你的vars和h重置为他们的后缩放值,只有css,所以在另一个比例事件中样式恢复到800x600。您需要在比例事件中设置为w*data.scaleh*data.scale的持久性w和h。