Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   HTML, Javascript y otros (https://www.clubdelphi.com/foros/forumdisplay.php?f=38)
-   -   layerY e iexplorer 8 (https://www.clubdelphi.com/foros/showthread.php?t=68482)

papulo 16-06-2010 11:12:29

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.


La franja horaria es GMT +2. Ahora son las 12:53:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi