Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2007, 10:11
Asyolath
 
Fecha de Ingreso: abril-2006
Mensajes: 80
Antigüedad: 18 años, 1 mes
Puntos: 2
document.body.offsetWidth y offsetHeight

Hola de nuevo,

Quisiera colocar una capa justo en la esquina inferior derecha del documento, pero cuando lo hago leyendo las propiedades offsetWidth y offsetHeight del documento siempre falta un trozo para que la capa esté en la esquina. Es decir: document.body.offsetWidth es menor que la anchura real del documento y document.body.offsetHeight es menor que la altura del documento, tanto en IE como en Mozilla.

Por si interesa pongo una porción del código que utilizo:

Código PHP:
// Falso popup
popupdocument.createElement("div");
document.body.appendChild(popup);
popup.setAttribute("id""popup");

// Encabezado
titulodocument.createElement("div");
popup.appendChild(titulo);
titulo.setAttribute("id""movil");
titulo.appendChild(document.createTextNode(""));

// Div en el encabezado a la derecha
derechadocument.createElement("div");
titulo.appendChild(derecha);
derecha.setAttribute("id""derecha");

// Cruz para cerrar
cierredocument.createElement("span");
derecha.appendChild(cierre);
cierre.setAttribute("id""cruz");
cierre.setAttribute("title""Cerrar");
cierre.appendChild(document.createTextNode("X"));
cierre.onclick= function(){popup.style.display='none';}

// Imagen
im1document.createElement("img");
// im1.setAttribute("src", "la que sea");
popup.appendChild(im1);

titulo.onmousedown= function()
    {
        
diferenciaxratonx popup.offsetLeft// Distancia del ratón al lado izquierdo del popup
        
diferenciayratony popup.offsetTop// Distancia del ratón al lado superior del popup
        
mover1;
        return 
false
    
}
document.onmouseup= function(){mover0}

añadirEvento(document"mousemove", function(e)
    {
        
ratonxcaract1?e.pageX:event.clientX+scrollx// Posicion x del raton
        
ratonycaract1?e.pageY:event.clientY+scrolly// Posicion y del raton
        
if (mover// Si el raton se mantiene pulsado en el encabezado del popup
        
{
            
with (popup.style)
            {
                
leftratonx diferenciax "px"// Posicion x del popup
                
if (ratonx-diferenciax<0){left"0px";}
                if (
ratonx-diferenciax>document.body.offsetWidth-popup.offsetWidth){left= (document.body.offsetWidth-popup.offsetWidth)+"px";}
                
topratony diferenciay "px"// Posicion y del popup
                
if (ratony-diferenciay<0){top"0px";}
                if (
ratony-diferenciay>document.body.offsetHeight-popup.offsetHeight){top= (document.body.offsetHeight-popup.offsetHeight)+"px";}
            }
            return 
false;
        }
    }

Se trata de un "falso popup" que puedes mover por la ventana, pero no quiero que se salga del documento. Pero cuando lo desplazo hacia la derecha o hacia abajo se para bastante antes de los límites de la página. Querría saber si hay algún modo para que se pare justo en el límite.

Gracias..