Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2013, 05:06
Avatar de CHuLoSoY
CHuLoSoY
 
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Pregunta Creación de divs mediante offset hacia cualquier dirección

Buenas compañeros.

He creado un script para crear un recuadro arrastrando el mouse (compatibilizado con eventos touch) y el ancho y el alto de la caja lo designa el punto de inicio XY y el punto final al levantar el mouse o el dedo. Es tal que así :

Código Javascript:
Ver original
  1. $('#container').on(TouchMouseEvent.MOVE, function(e){
  2.         if(self.holdCreateMask === true) {
  3.             e.preventDefault(); // prevención de selección de contenido
  4.             if(self.mask.click === true){
  5.                                 // si estamos haciendo click y arrastrando pintamos la caja
  6.                 $('#maskSquare').css({
  7.                     width: (e.pageX-offset.left) - self.mask.xCoord,
  8.                     height: (e.pageY-offset.top) - self.mask.yCoord
  9.                 });
  10.             }
  11.         }
  12.     });

¿Cuál es el problema? El problema es que si nos convertimos de repente en chinos, y en lugar de crearlo de izquierda a derecha y de arriba a abajo lo queremos hacer en otra dirección (derecha>izquierda, abajo>arriba y la combinación de ellos). Tendría que dejar correr unos píxeles para conocer la dirección y posicionar en el MOUSEDOWN como absolute right, bottom, left y/o top según se necesite.

Alguien tiene alguna idea de cómo hacer esto de forma eficaz sin efectos raros de creación, o evitar que tenga que eliminar la capa cuando se cambie la dirección y volver a insertarla?

Gracias y un saludo.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.