Foros del Web » Programando para Internet » Javascript »

como hace que una capa se posicione justo al lado del mouse???

Estas en el tema de como hace que una capa se posicione justo al lado del mouse??? en el foro de Javascript en Foros del Web. Hola maravillosa gente del FDW tengo un problemita sucede que tengo en mi web una capa que actua como un tooltip es decir que cuando ...
  #1 (permalink)  
Antiguo 27/11/2009, 07:49
 
Fecha de Ingreso: marzo-2009
Mensajes: 270
Antigüedad: 15 años, 1 mes
Puntos: 9
como hace que una capa se posicione justo al lado del mouse???

Hola maravillosa gente del FDW tengo un problemita sucede que tengo en mi web una capa que actua como un tooltip es decir que cuando un usario pasa con el mouse por un texto esta capa aparece y muestra una informacion extra, el tooltip funciona a la perfeccion los datos que quiero, pero cuando bajo el scrollbar(barra de dezplazamiento) la capa se muestra mas arriba de manera que si bajara aun mas el scrollbar el texto que deseo mostrar casi ni se nota.
Alguna sugerencia ha y les comento que el codigo que se ocupa de el tratamiento de la capa es un archivo llamado tooltip.js que tiene el siguiente codigo:

Código:
var xPos;
var yPos;

function showToolTip(title,msg,evt){
    if (evt) {
        var url = evt.target;
    }
    else {
        evt = window.event;
        var url = evt.srcElement;
    }
    xPos = evt.clientX;
    yPos = evt.clientY;

   var toolTip = document.getElementById("toolTip");
   toolTip.innerHTML = "<h1>"+title+"</h1><p>"+msg+"</p>";
   toolTip.style.top = parseInt(yPos)+2 + "px";
   toolTip.style.left = parseInt(xPos)+2 + "px";
   toolTip.style.visibility = "visible";
   
}

function hideToolTip(){
   var toolTip = document.getElementById("toolTip");
   toolTip.style.visibility = "hidden";
}

desde ya Gracias por su aporte
  #2 (permalink)  
Antiguo 27/11/2009, 08:01
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: como hace que una capa se posicione justo al lado del mouse???

no lo he comprobado, pero intenta con esta modificacion a las siguiente dos lineas.
Código:
    xPos = evt.clientX + document.documentElement.scrollTop;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 27/11/2009, 08:39
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: como hace que una capa se posicione justo al lado del mouse???

Más compatible:
Código PHP:
var scx=self.pageXOffset || (document.documentElement.scrollLeft+document.body.scrollLeft);
 
xPos evt.clientX scx;
var 
scy=self.pageYOffset || (document.documentElement.scrollTop+document.body.scrollTop);
xPos evt.clientX scx;
yPos=evt.clientY scy
  #4 (permalink)  
Antiguo 27/11/2009, 18:51
 
Fecha de Ingreso: marzo-2009
Mensajes: 270
Antigüedad: 15 años, 1 mes
Puntos: 9
Respuesta: como hace que una capa se posicione justo al lado del mouse???

ok gracias gente voy a probar lo que me aconsejan y luego les cuento....
  #5 (permalink)  
Antiguo 30/11/2009, 09:21
 
Fecha de Ingreso: marzo-2009
Mensajes: 270
Antigüedad: 15 años, 1 mes
Puntos: 9
Respuesta: como hace que una capa se posicione justo al lado del mouse???

hola ya lo probe y problema resuelto utilice el siguiente codigo y la verdad me funciono mas la ayuda de panino. Este es el codigo que funciono:
Código:
var xPos;
var yPos;
function showToolTip(title,msg,evt){
var scx=(document.documentElement.scrollLeft+document.body.scrollLeft);

var scy=(document.documentElement.scrollTop+document.body.scrollTop);
//xPos = evt.clientX + scx;

if (evt) {
        var url = evt.target;
    }
    else {
        evt = window.event;
        var url = evt.srcElement;
    }
	 xPos = evt.clientX + scx;
	 yPos = evt.clientY + scy;  
	//xPos = evt.clientX;
    //yPos = evt.clientY;

   var toolTip = document.getElementById("toolTip");
   toolTip.innerHTML = "<h1>"+title+"</h1><p>"+msg+"</p>";
   toolTip.style.top = parseInt(yPos)-50 + "px";
   toolTip.style.left = parseInt(xPos)-50 + "px";
   toolTip.style.visibility = "visible";
   
}

function hideToolTip(){
   var toolTip = document.getElementById("toolTip");
   toolTip.style.visibility = "hidden";
}
Gracias a panino y a zerokiller y hasta la proxima
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:50.