Ver Mensaje Individual
  #1  
Antiguo 16-06-2010
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Reputación: 19
papulo Va por buen camino
layerY e iexplorer 8

Buenas gente del foro, estoy intentando hacer una cosilla sencilla en apariencia, hacer click sobre una imagen y mostrar un <div> que tengo oculto por ahi, hacerlo visible.

El codigo funciona de coña, aunque he detectado un error que me trae de cabeza.

Código:
function dummy(evt){
var evento = evt || window.event; //ha de funcionar en el iexplorer también

createform(evento, "EF_folder.php", "elecfinder", "div_temp");
}
function createform (e, location, formname,targetid,X,Y,center){ // event, script.php, nombre_formulario, id donde cargaremos resultado
var theObject = document.getElementById(targetid);

X = X||0;
Y = Y||0;
center = center || 0;

theObject.style.visibility = "visible";
theObject.style.height = "auto";
theObject.style.width = "auto";

var posx = 0;
var posy = 0;

if(center == 0){
posx = e.clientX + document.body.scrollLeft - X;
posy = e.clientY + document.body.scrollTop + Y; //Va en los dos correctamente, aunque hace el tonto cuando hago click en algún elemento as allá del tamaño de la ventana maximizada.
// posy = e.offsetTop + document.body.scrollTop + Y; //He leido que es el equivalente a layerY pero no lo veo en el DOM cuando examino con el firebug lite y la herramienta de desarrollo del ie9
// posy = e.layerY + document.body.scrollTop + Y; //Funciona con Fitrefox pero iexplorer no lo implementa
}else if(center == "Y"){
posx = screen.width/2 - X;
posy = screen.height/2 - Y;
}

theObject.style.left = posx + "px";
theObject.style.top = posy + "px"; //posy fails!!

submitform(document.getElementById(formname), location, targetid);


La pantalla, carga usando ajax, un div con una tabla de resultados, de longitud variable (de 1 a 150-200), y en la celda de la derecha es donde he implementado la imagen.

Cuando hago click en las imagenes que estan en la ventana principal, sin hacer scroll, se situa el div correctamente.

Pero cuando hago scroll mas alla del tamaño de la pantalla, se descuadra el div y se quede por la parte de arriba.

Lo perfecto sería que funcionara layerY, pero no va y no se como abordarlo.

HELP!!

Saludos a todos.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita