2012-11-29 20 views
5

Web uygulamasında, kıstırma yönüne göre yüksekliği ve genişliği değiştirecek bir div var. Örneğin, kullanıcı yatay olarak kıstırırsa genişlik değiştirir, dikey tutam için yükseklik değiştirir.Javascript'te çimdikleme yönü nasıl bulunur?

Ben jest olayları

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)); 
} 

tutam yönünü bulmak için herhangi bir yolu var mı

kullanıyorum? üzerinde

+1

Ölçek istemiyorsunuz? Ölçekleme ile yükseklik ve genişlik göreceli kalır. Yeniden boyutlandırmayı kastediyorsanız, kullanıcı bir ölçek beklediğinden, bir yeniden boyutlandırma beklemediğinden tutam hareketini kullanmayın. –

cevap

1

i doğru anlasalardı ..

"guesturestart" hareketlere birinin koordinatlarını çimdik kaydetmek gerekir (veya daha iyi hassasiyet için tüm kaydedebilirsiniz)

var allTouches = event.originalEvent. dokunur;

var prevTouchX = allTouches [0] .pageX;

var prevTouchY = allTouches [0] .pageY;

sonra, "guesturechange" konulu sen hesaplamak içinde gerekeni eksen hareketti uzun

var allTouches = event.originalEvent.touches;

var touchX = allTouches [0] .pageX;

var touchY = allTouches [0] .pageY;

var propertyToChange = null;

halinde (Math.abs (touchX - prevTouchX)> Math.abs (Alıngansın - prevTouchY))> {

propertyToChange = width;

} başka {

propertyToChange = height;

} yararlı oldu umuyoruz.