Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/10/2010, 16:15
EgEmKun
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Script para mover <div>'s por el sitio... funciona, pero ...

Hola!...
Ok ok, quiza no me explique bien en el post anterior (eran las 5am... y apenas terminaba otro script bastante complicado ais que sorry xD)

Lo que pasa es que si pongo simplemente un <a href=""> o un onClick="document.location='';", al momento que arrastro un layer, si suelto el boton del mouse, me lleva a dicha seccion. Lo que busco es que cuando esten arrastrando el layer y suelten el boton del mouse, no me lleve a ninguna pagina.

Código HTML:
<script type="text/javascript">
//Si el navegador del cliente es Mozilla la variable siguiente valdrá true
var moz = document.getElementById && !document.all;
//Flag que indica si estamos o no en proceso de arrastrar el ratón
var estoyArrastrando = false;
//Variable para almacenar un puntero al objeto que estamos moviendo
var dobj;

function arrastrarRaton(e){
if (estoyArrastrando) {
newLeft = moz ? e.clientX : event.clientX;
newTop = moz ? e.clientY : event.clientY;

dobj.style.left = newLeft - parseInt(dobj.style.width)/2;
dobj.style.top = newTop - parseInt(dobj.style.height)/2;

return false;
}
}


function soltarBoton(e) {
estoyArrastrando = false;
}


function presionarBoton(e) {
//Obtenemos el elemento sobre el que se ha presionado el botón del ratón
var fobj = moz ? e.target : event.srcElement;

// Buscamos el primer elemento en la que esté contenido aquel sobre el que se ha pulsado
// que pertenezca a la clase objMovible.
while (fobj.tagName.toLowerCase() != "html" && fobj.className != "objMovible") {
fobj = moz ? fobj.parentNode : fobj.parentElement;
}

// Si hemos obtenido un objeto movible...
if (fobj.className == "objMovible") {
// Activamos el flag para indicar que se empieza a arrastrar
estoyArrastrando = true;
// Guardamos un puntero al objeto que se está moviendo en la variable global
dobj = fobj;

// Devolvemos false para no realizar ninguna acción posterior
return false;
}
}

document.onmousedown = presionarBoton;
document.onmouseup = soltarBoton;
document.onmousemove = arrastrarRaton;

document.oncontextmenu=new Function("return false");
</script> 
El caso es que como ven, en el script que tengo para realizar el movimiento por la pantalla, estan las funciones presionar, soltar y arrastrar boton/raton... osea que este codigo si detecta cuando mueven el mouse o hacen click en el mismo...

Mi pregunta es... hay alguna posibilidad de que cuando entre el evento arrastrarRaton, pueda deshabilitar el enlace hecho con "Onclick = document.location" ??

Y, si solamente hacen click en el enlace, que los lleven a dicha seccion... muchas gracias y espero se pueda :(