Foros del Web » Programando para Internet » Javascript »

document.body.offsetWidth y offsetHeight

Estas en el tema de document.body.offsetWidth y offsetHeight en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 02/05/2007, 10:11
 
Fecha de Ingreso: abril-2006
Mensajes: 80
Antigüedad: 18 años
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..
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:37.