Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/10/2007, 03:08
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Arrastrar objetos

Hola:

Estoy intentando arrastrar objetos, pero no entiendo porqué las imágenes son más difíciles de arrastrar que las capas... lo único que pienso en que se diferencian es en el estilo display

La idea es con el evento mousedown asignar el objeto a una variable, con mouseup desasignarlo y con mouseover cambiar los estilos top y left según el movimiento del ratón...

Con explorer va bien, pero en los demás se arrastran mejor las capas que los objetos imagen...

Se puede ver en este enlace: Arrastrar objetos

y los códigos son:

Código:
<script type="text/javascript" >
<!--

var _navegador = navigator.userAgent;
var ie = /msi/i.test(_navegador);
var op = /opera/i.test(_navegador);
var mo = /gecko/i.test(_navegador);
var otro = !(ie || mo);

function tag(id)	{return document.getElementById(id);}

var selector = null;
var _px, _py, _dx, _dy;
function desseleccionar()	{
	selector = null;
}

function seleccionar(objeto)	{
	selector = objeto;
	_px = parseInt(objeto.style.left);
	_py = parseInt(objeto.style.top);
	_dx = ratitaX();
	_dy = ratitaY();
}

function mover(e)	{
	if (selector != null)	{
		_xx = ratitaX() - _dx;
		_nx = _px + _xx;

		_yy = ratitaY() - _dy;
		_ny = _py + _yy;

		selector.style.left = _nx + "px";
		selector.style.top = _ny + "px";

		if (ie)	{
//			window.event.cancelBubble = false;
			window.event.returnValue = false;
		}
		else	e.preventDefault();
			//e.returnValue = true;
			//e.stopPropagation();
			//return true;
	}
}
//-->
</script>
Las funciones ratitaX() y ratitaY() devuelven las coordenadas del ratón.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo