我正在尝试开发我设计的交互,其中html元素是y比例的(在高度上缩放),这样元素的高度就变成了手势所涉及的两个手指之间的距离。现在,--我正在尝试侦听,发出警告,然后监听,然后使用jQuery发出单独的警报。你知道怎么做吗?也许没有插件?
我尝试用两个插件来完成这个任务。更多关于第一次尝试,稍后。
第二次尝试的错误之处在于,它说“夹”就是“尖”,甚至“点击”或“点击”也是“尖”。
我的第二次尝试是在JS Fiddle:http://jsfiddle.net/hnabM/1/中进行的。
下面是第二次尝试中使用的代码:
//pinchZoom is the distance between the two fingers involved in the pinch
var pinchIn = null;
var dist = null;
$('.pinch').swipe({
pinchIn:function(event, direction, distance, duration, fingerCount, pinchZoom){
dist = null;
},
pinchOut:function(event, direction, distance, duration, fingerCount, pinchZoom){
dist = null;
},
pinchStatus:function(event, phase, direction, distance, duration, fingerCount, pinchZoom){
if(dist != null){
if(dist > pinchZoom){
pinchIn = true;
}
else{
pinchIn = false;
}
dist = pinchZoom;
if(pinchIn === true){
console.log("pinching in");
}
else{
console.log("pinching out");
}
}
else{
dist = pinchZoom;
}
},
fingers:2,
pinchThreshold:0
});这是我做的第一次尝试。我让它起作用了,但是当我把它和我的网站结合起来的时候,它突然失效了。
第一次尝试时,我使用了jQuery版本的hammer.js ( http://eightmedia.github.io/hammer.js/ )--这是一个比较有名的多点触摸手势监听库。除了我需要它工作的站点之外,我成功地完成了它。在这里,它正在处理.polaroid类(图像),尝试对它们进行压缩,然后对它们进行y缩放,然后对它们发出警告:http://goo.gl/oOQDH0。但是,当我在站点中应用相同的js时,我需要它工作的站点突然不起作用了。所有的依赖都在那里。没有错误。此外,由于某种原因,滚动在某种程度上被抑制(在触摸设备上很难做到)。它与应用于.dataCard类(标题下的白色矩形)的代码相同,但无法工作:http://goo.gl/dagKxT
我将非常,非常感谢任何和所有的帮助,使这种互动发展和工作。提前谢谢!
发布于 2013-12-19 13:31:37
不要拒绝或劝阻你这么做,但是你有什么特别的理由自己写这篇文章吗?
无论如何,看看hammer.js https://github.com/EightMedia/hammer.js
它支持/模仿许多常见的触摸手势。包括捏来放大。在他们的例子页面上有:
https://github.com/EightMedia/hammer.js/blob/master/examples/pinchzoom.html
您可能已经完成了您的研究,并且看到了许多类似的库,但是Hammer的代码库布局非常好,而且很容易理解。
如果你想从头开始,你很可能会在开始的时候检测到一个手势,然后用一个普通的标志锁定它(所以其他手势不会启动),然后在手势完成时重新设置标志。
https://stackoverflow.com/questions/20506787
复制相似问题