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:
Las funciones ratitaX() y ratitaY() devuelven las coordenadas del ratón.<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>
Saludos