Foros del Web » Programando para Internet » Javascript »

Posicion raton pantalla firefox 1.0 y netscape 7.2

Estas en el tema de Posicion raton pantalla firefox 1.0 y netscape 7.2 en el foro de Javascript en Foros del Web. Hola a todos, necesito obtener la posicion del raton en la pantalla para almacemarla en un vector. Como siempre lo consegui hacer correr con IE ...
  #1 (permalink)  
Antiguo 17/11/2004, 11:28
 
Fecha de Ingreso: noviembre-2004
Mensajes: 2
Antigüedad: 19 años, 5 meses
Puntos: 0
Posicion raton pantalla firefox 1.0 y netscape 7.2

Hola a todos,
necesito obtener la posicion del raton en la pantalla para almacemarla en un vector. Como siempre lo consegui hacer correr con IE y netscape 4.78(esto ultimo fue mas dificil) pero no hay manera de hacerlo funcionar con netscape 7.2 ni con firefox 1.0. alguien podria ayudarme please?
Muchas gracias a todos!
  #2 (permalink)  
Antiguo 17/11/2004, 12:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola dovi.

Llama a la función tal que así:

<body onmousemove="coordenadas(event)">

y la función sería:

function coordenadas(event) {
x = event.clientX + window.scrollX;
y = event.clientY + window.scrollY;
}

Lo he probado en firefox 1.0 y funciona. De todas formas te dejo el enlace de donde lo he sacado por si tienes alguna duda:

http://kusor.net/traducciones/brainjar.es/drag1.es.html

Saludos,

Última edición por JavierB; 17/11/2004 a las 12:13
  #3 (permalink)  
Antiguo 18/11/2004, 11:26
 
Fecha de Ingreso: noviembre-2004
Mensajes: 2
Antigüedad: 19 años, 5 meses
Puntos: 0
Muchas gracias Javier, me fue de gran utilidad. Dejo el codigo por si alguien lo necesita, lo he probado con firefox 1.0, netscape 7.2, Opera e IE. Por cierto no me acaba de convencer como detecto el browser, como lo tengo implementado funciona pero si alguien sugiere alguna mejor lo agradeceria. Gracias!!


<SCRIPT type="text/javascript">
<!-- Begin
// Determine browser and version.
function Browser() {

var ua, s, i;

this.isIE = false;
this.isNS = false;

this.version = null;

ua = navigator.userAgent;

s = "MSIE";
if ((i = ua.indexOf(s)) >= 0) {
this.isIE = true;
this.version = parseFloat(ua.substr(i + s.length));
return;
}

s = "Netscape6/";
if ((i = ua.indexOf(s)) >= 0) {
this.isNS = true;
this.version = parseFloat(ua.substr(i + s.length));
return;
}

// Treat any other "Gecko" browser as NS 6.1.

s = "Gecko";
if ((i = ua.indexOf(s)) >= 0) {
this.isNS = true;
this.version = 6.1;
return;
}
}

var browser = new Browser();

function actualizarPosicion(event)
{
var X
var Y
if (browser.isIE){ // IE & Opera
X = event.clientX + document.body.scrollLeft
Y = event.clientY + document.body.scrollTop
}
else if (browser.isNS){
if (browser.version == 6.1 ) // Netscape 6.1 or higher (7.2 funciona) y Firefox
{
X = event.clientX + window.scrollX;
Y = event.clientY + window.scrollY;
}
}
else
alert("Tu navegador puede no soportar esta página web. Lo sentimos.")

}
//-->
</script>
  #4 (permalink)  
Antiguo 30/03/2005, 10:47
 
Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 1 mes
Puntos: 0
Hola no me habia fijado en este mensaje, si me permiten voy ha reciclar el mensaje con una duda mia.

Necesito obtener la posicion del cursor en una imagen cuando se haga clic en ella.

Investigue un poco y aparentemente seria asi:

function obtenerPos()
{
alert( event.offsetX+","+event.offsetY);
}


<img name="visor" src="mapa_cielo.jpg" width="442" height="384" onClick="obtenerPos();">

esto me funciona en Internet Explorer (previo mensaje de codigo inseguro), pero en Netscape y en Mozilla Firefox no me funciona para nada.

¿Alguien tiene alguna idea de como lo podria hacer? y ha ser posible sin mensaje de codigo inseguro.
  #5 (permalink)  
Antiguo 30/03/2005, 11:00
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Troyano

La imágen debería quedar así:

<img name="visor" src="mapa_cielo.jpg" width="442" height="384" onClick="obtenerPos(event);">

y la función de esta forma:

function obtenerPos(e)
{
alert( e.clientX+","+e.clientY);
}

Espero que te sirva. Saludos,
  #6 (permalink)  
Antiguo 31/03/2005, 10:29
 
Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 1 mes
Puntos: 0
Muchas gracias, si me funciono bien asi
  #7 (permalink)  
Antiguo 31/03/2005, 11:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Me alegro de que te haya servido. Añadiré una muesca a mi Colt del 45

Última edición por JavierB; 31/03/2005 a las 11:07
  #8 (permalink)  
Antiguo 16/04/2005, 16:29
 
Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 1 mes
Puntos: 0
Tras analizar un poco la cuestion , resulta que no me funciono porque clientX y clientY son propiedades que me dicen la posicion del cursor en la ventana y no dentro de la imagen. Al final lo resolvi asi:

function ObtenerPos2(event)
{
if(document.all)
diferencia=2;
else
diferencia=0;
x=event.clientX-document.visor.offsetLeft-diferencia;
y=event.clientY-document.visor.offsetTop-diferencia;

alert(x+","+y);

}

Y si esta la imagen en posicion relativa con respecto a otra capa tambien se tiene que restar la posicion de la capa.
  #9 (permalink)  
Antiguo 17/01/2009, 17:15
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 11
Respuesta: Posicion raton pantalla firefox 1.0 y netscape 7.2

Vean una forma más fácil (por lo menos con Mozilla Firefox 3, no sé si con MF 1.0):

//Para que les funcione con IE y Mozilla
X = moz ? e.clientX + window.scrollX: event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
Y = moz ? e.clientY + window.scrollY: event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 02:13.