在我的网络应用程序中,我有一个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));
}
有没有办法找到收缩方向?
答案 0 :(得分:1)
如果我理解正确的话。
在“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 propertyToChange = null;
if(Math.abs(touchX - prevTouchX)> Math.abs(touchY - prevTouchY))> {
propertyToChange ='width';
}其他{
propertyToChange ='height';
}
希望它有用。