Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/07/2011, 06:47
Avatar de CHuLoSoY
CHuLoSoY
 
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 3 meses
Puntos: 29
Exclamación Problemas con caja que sigue al ratón

Hola amigos. Tengo este código:

Código Javascript:
Ver original
  1. function sigueme(e) {
  2.     var x = (document.layers || !document.all)? e.pageX : event.x+document.body.scrollLeft;
  3.     var y = (document.layers || !document.all)? e.pageY : event.y+document.body.scrollTop;
  4.     var x2 = x + 10;
  5.     var y2 = y + 10;
  6.    
  7.     document.getElementById('siguelo').style.left=x2+'px';
  8.     document.getElementById('siguelo').style.top=y2+'px';
  9.    
  10.     return true
  11. }
  12.  
  13.  
  14. function muestrame(texto) {
  15.  
  16.     document.onmousemove = sigueme;
  17.    
  18.     document.getElementById('siguelo').innerHTML=texto;
  19.     /*if (navigator.appName=="Microsoft Internet Explorer") {
  20.    
  21.         document.getElementById('siguelo').style.position='absolute';
  22.    
  23.     } else {
  24.    
  25.         document.getElementById('siguelo').style.position='fixed';
  26.    
  27.     }*/
  28.  
  29.     document.getElementById('siguelo').style.display='block';
  30.     if (document.layers) { document.captureEvents(Event.MOUSEMOVE); }
  31. }
  32.  
  33.  
  34. function quitame() {
  35.     document.getElementById('siguelo').style.display='none';
  36. }

Como véis hay un trozo comentado y es que tengo problemas para visualizar la caja que sigue al ratón en internet explorer.

Si la position es absoluta, internet explorer no pilla bien las coordenadas x e y del ratón , en cambio firefox sí, pero para que funcione en los dos tengo que ponerle fixed a firefox, el cual es un problema porque al hacer scroll nunca queda al lado del ratón.

Pueden probarlo aquí:

http://213.60.40.182/gap-dev/index.php

al ponerse encima de los títulos de ARTÍCULOS QUE INTERESAN. El código está en el script Funciones.js

Entonces, cómo hago para que funcione correctamente en todos los navegadores ? Al menos que funcione igual.

Saludos y gracias.

edición:

he probado con esto:

Código Javascript:
Ver original
  1. function sigueme(e) {
  2.     var x = e.clientX + 15;
  3.     var y = e.clientY + 15;
  4.    
  5.     document.getElementById('siguelo').style.left = x + 'px';
  6.     document.getElementById('siguelo').style.top = y + 'px';
  7.    
  8.     return true;
  9. }

pero en IE 8 se queda la capa arriba a la izquierda sin solución posible.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Última edición por CHuLoSoY; 06/07/2011 a las 08:39