Hola a los dos
caricatos y
KarlanKas:
Que sepáis que me he estado un buen rato rompiéndome la cabeza, viendo que en IE se maneja bien la imagen y mal la capa, y en FF al revés totalmente.
He cambiado un monton de cosas, y he añadido otro montón, y todo inútilmente.
Parece ser que Firefox tiene algo interno, que al arrastrar la imagen me deja unos 3px, pero que luego se me cambia el cursor a un circulo tachado (osea, impedimento de la acción) y ya no ejecuta siquiera el onmouseout, se queda "trabado" hasta que hacemos mouseup.
Al IE se le escapa el DIV, pero sólo si hacemos un repentino mouseout mientras arrastramos, creo que se podría solventar. El truco de
KarlanKas no me ha dado resultado, pero me ha servido de inspiración. He hecho una chapuza que funciona en IE:
Para los que moviendo el ratón sean más rápidos que el pensar de javascript, lo que hacemos es que si provocamos el
onmouseout mientras estamos arrastrando, movemos la capa voluntariamente hacia donde está el ratón:
Código PHP:
<div
id="capa_imagen1"
onmouseover="this.style.borderColor = 'gray'; clearInterval(sescapa)"
onmouseout="this.style.borderColor = 'transparent'; if(selector!=null) sescapa = setInterval('mover()',1);"
onmousedown="seleccionar(this)"
onmouseup="desseleccionar()"
style="padding: 0; position: absolute; top: 40px; left: -1px; border: 1px solid transparent; background: url(mover-objetos_files/webmaster.gif) no-repeat center center; width: 88px; height: 31px; overflow: hidden"
>****
</div>
Claro que hay que declarar como global la variable
sescapa, y en Firefox no tiene más efecto que ralentizar, supongo.
Por cierto, he notado que ese DIV estaba doblemente cerrado.
Un saludo, y a ver si damos con la clave