Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/10/2007, 10:33
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 1 mes
Puntos: 45
Re: Arrastrar objetos

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
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.