Foros del Web » Creando para Internet » HTML »

Problemita: frames y scroll unico

Estas en el tema de Problemita: frames y scroll unico en el foro de HTML en Foros del Web. Saludos!! tengo un peqeño problema y trato y trato pero no doy con la solucion, que estare haciendo mal??? Tengo una pagina con frames, superior, ...
  #1 (permalink)  
Antiguo 01/02/2006, 09:09
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 12 años, 6 meses
Puntos: 2
Problemita: frames y scroll unico

Saludos!! tengo un peqeño problema y trato y trato pero no doy con la solucion, que estare haciendo mal???

Tengo una pagina con frames, superior, izquierda y derecha, aca la definicion de los mismos en mi pagina index.htm

Código HTML:
<frameset rows="98,*" cols="*" frameborder="NO" border="0" framespacing="0">
  <frame src="titulo.htm" name="topFrame" scrolling="NO" noresize >
  <frameset rows="*" cols="141,*" framespacing="0" frameborder="NO" border="0">
    <frame src="menutotal.htm" name="leftFrame" scrolling="no">
    <frame src="inicio.htm" name="mainFrame" scrolling="yes">
  </frameset>
</frameset> 
ahora bien quiero que tanto el frame izquierdo y el derecho se muevan con un solo scroll, aca mismo encontre otro post con respuesta a eso, pues lo intente como dicen alli pero no me funciona.

En la pagina inicio.htm que es el frame derecho coloco en la etiqueta body lo siguiente:

Código HTML:
<body onScroll="top.leftFrame.document.body.scrollTop=document.body.scrollTop"> 
Hay otra cosa que hay que colocarle para que funcione??, tengo mal definidos los frames?? o que??.
Espero y puedan ayudarme.
  #2 (permalink)  
Antiguo 01/02/2006, 13:28
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 14 años, 1 mes
Puntos: 2
Pues lo acabo de probar y sí que funciona, mira por si acaso:

http://ludovico2000.galeon.com/test.htm

(Lo siento, pero sale publicidad, es lo que tiene el servidor gratuito ; para mi sencilla gué he logrado quitar los anuncios, pero como se hace tocando el body, no he querido liar tu ejemplo y lo he dejado tal cual)

  #3 (permalink)  
Antiguo 02/02/2006, 07:20
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 12 años, 6 meses
Puntos: 2
deberia de funcionar pero no funciona

Por si acaso, si lo estoy probando en IE.

Ahora hice uno simple te mando los codigos:

abre.htm:los frames
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<frameset rows="80,*" cols="*" frameborder="NO" border="0" framespacing="0">
  <frame src="arriba.htm" name="topFrame" scrolling="NO" noresize >
  <frameset rows="*" cols="80,*" frameborder="NO" border="0" framespacing="0">
    <frame src="izquierda.htm" name="leftFrame" scrolling="yes" noresize>
    <frame src="darecha.htm" name="mainFrame" scrolling="yes">
  </frameset>
</frameset>

</html> 

arriba.htm

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
TITULO
</body>
</html> 
darecha.htm (si es darecha no derecha) jeje

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p>1</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>2</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>3</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>4</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>5</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>6</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>7</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>8</p>
<p>&nbsp;</p>
<p>9</p>
<p>2</p>
<p>&nbsp; </p>
</body>
</html> 
izquierda.htm
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body onScroll="top.leftFrame.document.body.scrollTop=document.body.scrollTop">
<p>1</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>2</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>3</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>4</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>5</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>6</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>7</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>8</p>
<p>&nbsp;</p>
<p>9</p>
<p>0 </p>
</body>
</html> 
Y eso no me funciona, que puede estar pasando???
  #4 (permalink)  
Antiguo 02/02/2006, 12:26
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 14 años, 1 mes
Puntos: 2
Vale, ya lo veo:

Fíjate que le estás diciendo:

top.leftFrame.document.body.scrollTop=document.bod y.scrollTop

"haz que el scroll del frame leftFrame sea igual que el de éste donde estoy"

Peeero se lo estás poniendo en izquierda.htm, que es la que hay en leftFrame, con lo cual, pues no va, porque ella misma es leftFrame y no se menciona para nada lo que hay a su derecha

Tienes que poner lo de onScroll="top.leftFrame.document.body.scrollTop=do cument.body.scrollTop" en la página derecha.htm para que el scroll de "derecha.htm" mueva al de "izquierda.htm" (como ves en el ejemplo de http://ludovico2000.galeon.com/test.htm)

O si lo que quieres es hacerlo "al revés" (que el scroll de la izquierda desplace el marco derecho), ponle ...top.mainFrame... y déjalo en izquierda.htm

ahora seguro que sí

  #5 (permalink)  
Antiguo 14/02/2006, 14:41
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 12 años, 6 meses
Puntos: 2
Pregunta

He vuelto, estuve ocupado, pero ya tuve que volver con esto de los frames,
cuando decia que no funcionaba era por que no funcionaba, jeje pero el tuyo ludovico si te funcionaba y dandole muchas vueltas al fin supe por que a mi no me funcionaba (el error del top.left.... de colocarlo en el lugar equivocado solo lo tuve en ese rapido ejemplo que puse) bueno en fin el error estaba en que en las paginas derecha e izquierda que son las que quiero unir con un solo scroll no deben de llevar la cabecera:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> 
Lo que menos podia haber pensado, sinceramente yo no sabia (inexperiencia)

Por otro lado lo de que el menu sea mas largo del cuerpo de la pagina no me sigue cuadrando, quiero ponerle a la parte del menú en Scroll="no" para que no se vean dos barras de scroll (una del menu y otra del cuerpo). Por supuesto con esto no voy a ver todo el menu por que el scroll se acaba cuando se acaba el cuerpo de la pagina (derecha).

Habra una forma de igualar los largos de los frames? para que el scroll siga bajando hasta el tamaño del frame mas largo?
  #6 (permalink)  
Antiguo 15/02/2006, 07:05
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 14 años, 1 mes
Puntos: 2
Sí, puedes meter los contenidos del menú y los del cuerpo en una tabla o un div que tenga un height fijo e igual en ambos casos, aunque lo que haya dentro sea diferente. La pega es que se podría dar el caso de que tengas un menu muy largo y un cuerpo corto, y haya que ver líneas y líneas de espacio en blanco en el cuerpo (o viceversa), aunque esto con un poco de diseño de fondo con buen gusto puede no ser un gran problema...
  #7 (permalink)  
Antiguo 16/02/2006, 21:19
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 12 años, 6 meses
Puntos: 2
Ah ok bueno tocara hacer eso, por que tal vez no exista una forma de decirle a cada uno de los frames que iguale el largo de aquel que sea mas largo??.
  #8 (permalink)  
Antiguo 17/02/2006, 05:16
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 14 años, 1 mes
Puntos: 2
Como no hagas una función favascript que tome los valores, los compare ... tipo:

a=largomarcoA
b=largomarcoB

si a>b, entonces
haz que b=a
si no,
si a<b, entonces
haz que a=b

si a=b pues ya está, así que no le decimos nada.

Ahora, cómo programar eso... pues sinceramente, no sabría cómo hacerlo :(
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 18:25.