Foros del Web » Programando para Internet » Javascript »

Evento Swipe desde puro javascript

Estas en el tema de Evento Swipe desde puro javascript en el foro de Javascript en Foros del Web. Buenas a todos y gracias por vuestro tiempo , Estoy practicando pra realizar una web que funcione scroll lateral tanto desde el wheel del mouse ...
  #1 (permalink)  
Antiguo 05/06/2013, 05:57
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 9 años, 2 meses
Puntos: 0
Evento Swipe desde puro javascript

Buenas a todos y gracias por vuestro tiempo ,

Estoy practicando pra realizar una web que funcione scroll lateral tanto desde el wheel del mouse como desde el swipe de un dispositivo movil. Hasta ahora todo funciona exceptuando los dispositivios moviles que no sean IOS .

Haciendo algunas pruebas para captar los eventos que se disparan cuando realizo un swipe desde android he visto que primero lanza un evento de Mouse y despues el evento touchstart.

Yo he separado los eventos por mouse y touch , las funciones que gestionan esto seran las siguientes :


Código:
function compSwipe(){
	
          var xIni;
          var yIni;
		  isTouchable=true;
          //var canvas = document.getElementById('objeto');
          window.addEventListener('touchstart', function(e){
              if (e.targetTouches.length == 1) { 
				  var touch = e.targetTouches[0]; 
				  xIni = touch.pageX;
				  yIni = touch.pageY;
			   }
          }, false);
          
          window.addEventListener('touchmove', function(e){
			  e.preventDefault();
              if (e.targetTouches.length == 1) { 
        		  var touch = e.targetTouches[0]; 
				  if((touch.pageX>xIni+20) && (touch.pageY> yIni-5) && (touch.pageY<yIni+5)){
					   delta=-1;
					  handleSwipe(delta);
					 
				  }
          
				  if((touch.pageX<xIni-20) && (touch.pageY> yIni-5) && (touch.pageY<yIni+5)){
					   delta=+1;
						handleSwipe(delta);
					
				  } 
    		}
          }, false); 
          
                     
}	
	
	function wheel(event){
		var minScrollTime = 100;
		var now = new Date().getTime();
		var delta = 0;
		
	
		if (!scrollTimer) {
			if (now - lastScrollFireTime > (3 * minScrollTime)) {
				if (!event) event = window.event;
				if (event.wheelDelta) {
					delta = event.wheelDelta/120; 
				} else if (event.detail) {
					delta = -event.detail/3;
				}
				if (delta)
					
					handle(delta);
				lastScrollFireTime = now;
			}
			scrollTimer = setTimeout(function() {
				scrollTimer = null;
				lastScrollFireTime = new Date().getTime();
			}, minScrollTime);
		}
		
		if (event.preventDefault)
			event.preventDefault();
		event.returnValue = false;
		
	
	}

Alguien puede encaminarme a como usar el swipe sin necesidad de una libreria externa ?

Muchas gracias por vuestro tiempo ,
  #2 (permalink)  
Antiguo 06/06/2013, 02:46
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Evento Swipe desde puro javascript

Si no es el lugar o falta información , puedo extenderla sin problemas, muchas gracias como siempre

Etiquetas: evento, funcion, puro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:25.