Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2007, 13:32
Avatar de marcosr
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 !)