Bal*_*an웃 5 javascript jquery touch
在我的网络应用程序中,我有一个div,它将根据收缩方向改变高度和宽度.例如,如果用户水平捏合它将改变宽度,对于垂直捏,它将改变高度.
我正在使用手势事件
var scaleMe = $("#scaleMe");
scaleMe[0].ongesturestart = function (e) {
height = scaleMe .height();
}
scaleMe[0].ongesturechange = function (e) {
e.preventDefault();
var scaleheight = (scaleMe.height() * e.scale);
scaleMe.height(Math.min(Math.max(scaleheight, 50), 400));
}
Run Code Online (Sandbox Code Playgroud)
有没有办法找到捏方向?
如果我理解正确的话..
在“guesturestart”上,您应该保存其中一个手势的捏合坐标(或者您可以保存所有手势以获得更好的精度)
var allTouches = event.originalEvent.touches;
var prevTouchX = allTouches[0].pageX;
var prevTouchY = allTouches[0].pageY;
然后,在“guesturechange”上,您必须计算哪个轴的运动更长
var allTouches = event.originalEvent.touches;
var touchX = allTouches[0].pageX;
var touchY = allTouches[0].pageY;
var 属性更改 = null;
if (Math.abs(touchX - prevTouchX) > Math.abs(touchY - prevTouchY)) >{
propertyToChange = '宽度';
} 别的 {
propertyToChange = '高度';
}
希望它有用。
| 归档时间: |
|
| 查看次数: |
368 次 |
| 最近记录: |