Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/06/2007, 12:10
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Re: Efecto para un frame al cerrarse

No, esta vez no hemos tenido que meter mano al CSS, lo podemos hacer con los atributos de document.body.

Tenemos 3 archivos, el que define la estructura de los frames (1), el frame superior(2) y el frame inferior(3).

frame-deslizante1.html:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
    <
head>
        <
title></title>
        <
meta name="Author" content="derkeNuke">
        <
FRAMESET ROWS="150,*">
            <
FRAME SRC="frame-deslizante2.html" name="frame1" >
            <
FRAME SRC="frame-deslizante3.html" name="frame2" >
        </
FRAMESET>
    </
head>
    <
NOFRAMES>
        <
body>
            
Sin frames no lo ves
        
</body>
    </
NOFRAMES>
</
html
frame-deslizante2.html:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
<
head>
<
title></title>
<
meta name="Author" content="derkeNuke">

<
script type="text/javascript">

function 
mueveFrameSup(h) {
    
parent.document.body.rows=h+"px,*";
}

var 
hExpandidohContraido=50primera=true;
function 
getH() { return parseIntparent.document.body.rows.toString().split(",")[0] ); }
hExpandido getH();
function 
contraer() {
    var 
hActual=contraer.arguments[0];
    if(
hActual==undefinedhActual=getH();
    if(
hActual>hContraido) {
        
mueveFrameSup(hActual-3);
        
setTimeout("contraer("+(hActual-3)+")"10);
    }
}
function 
expandir() {
    var 
hActual=expandir.arguments[0];
    if(
hActual==undefinedhActual=getH();
    if(
hActual<hExpandido) {
        
mueveFrameSup(hActual+3);
        
setTimeout("expandir("+(hActual+3)+")"10);
    }
}

</script>

</head>

<body>

MINI FRAME ARRIBA

<button onclick="contraer()">contraer()</button>
<button onclick="expandir()">expandir()</button>


</body>
</html> 
Y por último frame-deslizante3.html:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
<
head>
<
title></title>
<
meta name="Author" content="derkeNuke">
</
head>

<
body>

FRAME PRINCIPAL

</body>
</
html

Ya ves que no tiene mucho misterio, la propiedad rows de document.body contiene las proporciones de los marcos... ahora sólo extraemos valores de ahí, y los asignamos como nos conviene.



Espero que sea eso lo que buscas, un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.