Foros del Web » Programando para Internet » Javascript »

Capa que acompañe a la pantalla cuando el usuario baja o sube.

Estas en el tema de Capa que acompañe a la pantalla cuando el usuario baja o sube. en el foro de Javascript en Foros del Web. Hola, quiero hacer algo que es muy conocido pero no encuentro por ningún lado nada de información. Necesito que una capa esté siempre en la ...
  #1 (permalink)  
Antiguo 23/03/2007, 13:32
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
Capa que acompañe a la pantalla cuando el usuario baja o sube.

Hola, quiero hacer algo que es muy conocido pero no encuentro por ningún lado nada de información.

Necesito que una capa esté siempre en la misma posición mientras el usuario sube o baja por mi página. Exactamente lo que hace la capa para registrarse de abajo a la izquierda en esta página.

Saludos y desde ya muchas gracias !

Por cierto, he encontrado un código pero me trae dificultades debido a las variables "offset" que posee pero por lo demás está perfecto, también me sirve si alguien lo puede modificar.

Código:
/* La siguiente función hace que el objeto div siga a la ubicación en pantalla del usuario */


var persistclose=0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX = -100 //set x offset of bar in pixels
var startY = -110 //set y offset of bar in pixels
var verticalpos="frombottom" //enter "fromtop" or "frombottom"

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function staticbar(){
barheight=document.getElementById("mensaje").offsetHeight
var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
var d = document;
function ml(id){
var el=d.getElementById(id);
if (!persistclose || persistclose && get_cookie("remainclosed")=="")
el.style.display="none"
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.right=x+"px";this.style.top=y+"px";};
el.x = startX;
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function(){
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : iecompattest().scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("mensaje");
stayTopLeft();
}

if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar

/* */
__________________
Yo hago preguntas inteligentes para obtener respuestas rapidas, y vos?
(únete a la campaña !)
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 06:35.