Foros del Web » Programando para Internet » Javascript »

Problema con divs y con JavaScript

Estas en el tema de Problema con divs y con JavaScript en el foro de Javascript en Foros del Web. A ver, si pongo la sentencia if(menu.style.height > ban.style.height){...} porque no me evalua el codigo de dentro de ese if? estoy en i.explorer. komo no ...
  #1 (permalink)  
Antiguo 01/07/2003, 01:21
Usuario no validado
 
Fecha de Ingreso: junio-2003
Ubicación: Aguacate
Mensajes: 56
Antigüedad: 20 años, 10 meses
Puntos: 0
Pregunta Problema con divs y con JavaScript

A ver, si pongo la sentencia
if(menu.style.height > ban.style.height){...}

porque no me evalua el codigo de dentro de ese if? estoy en i.explorer. komo no me va, borre la parte de los if esos de mi pagina, bueno, otra cosa, pk "menu.style.height" si es un valor valido para dar al .height de ban y "menu.style.height+100" no lo es para darselo al .top de otro div o me da 0? es ke kiero hacer una pagina bastante redimensionable segun el tamaño de una u otra de sus partes.

La primera pregunta es para hacer que detecte que div tiene mas altura y segun eo le asigne el tamaño del div mas grande al mas pequeño para que se igualen. La segunda es para posicionar un div de pie de pagina que se ha de situar segun los divs de los menus.

------------------------------------------------------------------------------------
Ahi va el codigo de mi web(sin akabar)
------------------------------------------------------------------------------------

<html>
<head>
<title>DesarrolloJuegos.tk</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1">
<meta http-equiv="" content="text/html; charset=iso-8859-1">
<meta name="keywords" content="desarrollo, juego, juegos, grupo, programacion, c, c++, C, C++, principiante, experto, tutorial , tutoriales">
<meta name="description" content="Grupo desarrollador de juegos en C++, visitanos y aprende o danos ideas, Nos haran falta!">
</head>
<body bgcolor="#0099FF">
<div id="cuerpo" align="left" style="position:absolute; top:0; left:0; width:100%; height:100%";>
<div id="head_left" style="position:absolute; top:0; left:0; width:180; height:100; background:url(head_left.gif);">
</div>
<script>
var arga=document.body.clientWidth-360;
var argi=arga+180;
document.write('<div id="head_cent" style="position:absolute; top:0; left:180; height:100; width:'+arga+'; background:url(head_cent.gif)"></div>');
</script>
<script>
document.write('<div id="head_right" style="position:absolute; top:0; left:'+argi+'; width:180; height:100; background:url(head_right.gif)"></div>');
</script>
<div id="menu" style="position:absolute; top:100; left:0; width:180; height:100; background:url(bar.gif);">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td background="menu_sup.gif" width="180" height="50">
</td>
</tr>
<tr>
<td background="menu_cent.gif" width="180" height="0">
</td>
</tr>
<tr>
<td background="menu_inf.gif" width="180" height="50">
</td>
</tr>
</table>
</div>
<script>
document.write('<div id="ban" style="position:absolute; top:100; left:'+argi+'; width:180; height:1; background:url(bar.gif)">');
</script>
<!-- aki va el contenido de ban -->
</div>
<script>
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
if (ns4)
{
cas=document.cuerpo.document.menu.height;
document.cuerpo.document.ban.height=cas;
}
if (ie4)
{
cas=menu.style.height;
ban.style.height=cas;
}
asr=cas+100;
document.write('<div id="foot_left" style="position:absolute; top:'+asr+'; left:0; width:180; height:100; background:url(foot_left.gif);">');
</script>
</div>

</div>
<!-- Fin del conjunto -->

</body>
</html>
  #2 (permalink)  
Antiguo 01/07/2003, 01:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola andreumic:

A primera vista te voy a decir un par de cosas que veo en tu código:

En primer lugar, cuando quieres averiguar un tamaño o un valor numérico, debes pasar el valor a entero, si no javascript cree que se trata de texto:

parseInt(menu.style.height)+100;

La segunda cosa, es que puesto de esa manera no te va a funcionar en netscape...
Entiendo que haya gente que no le importe, pero es muy fácil conseguir hacerlo compatible...
En vez de poner el id solamente, se pone document.getElementById("El_Id")...
Por ejemplo, para el caso:
menu.style.height

habría que poner:
document.getElementById("menu").style.height

Saludos
  #3 (permalink)  
Antiguo 01/07/2003, 05:18
Usuario no validado
 
Fecha de Ingreso: junio-2003
Ubicación: Aguacate
Mensajes: 56
Antigüedad: 20 años, 10 meses
Puntos: 0
Gracias...

Gracias por responder, pero sigo con un problema, lo de dentro de la sentencia if en el iexplorer no me lo reconoce, o sea ke no se cumple la condicion, pero deberia...

------------------------------------------------------------------------------------
Aki esta el codigo nuevo, para que lo evaluen
------------------------------------------------------------------------------------

<html>
<head>
<title>DesarrolloJuegos.tk</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1">
<meta http-equiv="" content="text/html; charset=iso-8859-1">
<meta name="keywords" content="desarrollo, juego, juegos, grupo, programacion, c, c++, C, C++, principiante, experto, tutorial , tutoriales">
<meta name="description" content="Grupo desarrollador de juegos en C++, visitanos y aprende o danos ideas, Nos haran falta!">
</head>
<body bgcolor="#0099FF">
<div id="cuerpo" align="left" style="position:absolute; top:0; left:0; width:100%; height:100%";>
<div id="head_left" style="position:absolute; top:0; left:0; width:180; height:100; background:url(head_left.gif);">
</div>
<script>
var arga=document.body.clientWidth-360;
var argi=arga+180;
document.write('<div id="head_cent" style="position:absolute; top:0; left:180; height:100; width:'+arga+'; background:url(head_cent.gif)"></div>');
</script>
<script>
document.write('<div id="head_right" style="position:absolute; top:0; left:'+argi+'; width:180; height:100; background:url(head_right.gif)"></div>');
</script>
<div id="menu" style="position:absolute; top:100; left:0; width:180; height:100; background:url(bar.gif);">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td background="menu_sup.gif" width="180" height="50">
</td>
</tr>
<tr>
<td background="menu_cent.gif" width="180" height="0">
</td>
</tr>
<tr>
<td background="menu_inf.gif" width="180" height="50">
</td>
</tr>
</table>
</div>
<script>
document.write('<div id="ban" style="position:absolute; top:100; left:'+argi+'; width:180; height:1; background:url(bar.gif)">');
</script>
<!-- aki va el contenido de ban -->
</div>
<script>
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
nsmnu=parseInt(document.cuerpo.document.menu.heigh t);
nsban=parseInt(document.cuerpo.document.ban.height );
iemnu=parseInt(menu.style.height);
ieban=parseInt(ban.style.height);
if (ns4)
{
if(nsmnu > nsban)
{
cas=nsmnu;
document.cuerpo.document.ban.height=cas;
}
if(nsban > nsmnu)
{
cas=nsban;
document.cuerpo.document.menu.height=cas;
}
}
if (ie4)
{
if(iemnu > ieban)
{
document.print('hola');
cas=iemnu;
ban.style.height=cas;
}
if(iemnu < ieban)
{
cas=ieban;
menu.style.height=cas;
}
}
asr=cas+100;
document.write('<div id="foot_left" style="position:absolute; top:'+asr+'; left:0; width:180; height:100; background:url(foot_left.gif);">');
</script>
</div>

</div>
<!-- Fin del conjunto -->

</body>
</html>

------------------------------------------------------------------------------------
Se acaba el codigo
------------------------------------------------------------------------------------

A ver, se supone que los divs del menu cambian de tamaño pk tendran unas inclusiones en php controladas por bases de datos, estas iran sumando altura al div(mediante codigo JAvaScript ke escribiran) por eso kiero hacer este tinglado de la igualacion de tamaño. Pero esas dichosas sentencias no me funcionan...

En definitiva, kiero hacer un tipo de phpnuke con menos implementaciones y menos portable, pero con mas personalizacion y merito, es pa una web de un proyecto de programacion, asi ke keria kurrarmelo un poko pa demostrar ke soy bueno en la faena...
  #4 (permalink)  
Antiguo 01/07/2003, 05:37
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
¿Te irá con esto?
Código:
<html>
<head>
<title>DesarrolloJuegos.tk</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1">
<meta http-equiv="" content="text/html; charset=iso-8859-1">
<meta name="keywords" content="desarrollo, juego, juegos, grupo, programacion, c, c++, C, C++, principiante, experto, tutorial , tutoriales">
<meta name="description" content="Grupo desarrollador de juegos en C++, visitanos y aprende o danos ideas, Nos haran falta!">
</head>
<body bgcolor="#0099FF">
<div id="cuerpo" align="left" style="position:absolute; top:0; left:0; width:100%; height:100%";>
<div id="head_left" style="position:absolute; top:0; left:0; width:180; height:100; background:url(head_left.gif);">
</div>
<script>
var arga=parseInt(document.body.clientWidth)-360;
var argi=arga+180;
document.write('<div id="head_cent" style="position:absolute; top:0; left:180; height:100; width:'+arga+'; background:url(head_cent.gif)"></div>');
</script>
<script>
document.write('<div id="head_right" style="position:absolute; top:0; left:'+argi+'; width:180; height:100; background:url(head_right.gif)"></div>');
</script>
<div id="menu" style="position:absolute; top:100; left:0; width:180; height:100; background:url(bar.gif);">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td background="menu_sup.gif" width="180" height="50">
</td>
</tr>
<tr>
<td background="menu_cent.gif" width="180" height="0">
</td>
</tr>
<tr>
<td background="menu_inf.gif" width="180" height="50">
</td>
</tr>
</table>
</div>
<script>
document.write('<div id="ban" style="position:absolute; top:100px; left:'+argi+'px; width:180px; height:1px; background:url(bar.gif)">');
</script>
<!-- aki va el contenido de ban -->
</div>
<script>
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
if (ns4) 
{ 
cas=parseInt(document.cuerpo.document.menu.height);
document.cuerpo.document.ban.height=cas;
} 
if (ie4) 
{alert("···")
cas=parseInt(menu.style.height);
ban.style.height=cas;
}
asr=cas+100;
document.write('<div id="foot_left" style="position:absolute; top:'+asr+'px; left:0px; width:180px; height:100px; background:url(foot_left.gif);">');
</script>
</div>

</div>
<!-- Fin del conjunto -->

</body>
</html>
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 01/07/2003, 05:52
Usuario no validado
 
Fecha de Ingreso: junio-2003
Ubicación: Aguacate
Mensajes: 56
Antigüedad: 20 años, 10 meses
Puntos: 0
GRACIAS!

A ver, lo agradezco, pero em he quedado como antes..., antes me funcionaba asi, pero yo quiero otra cosa:

Lo que has hecho es esto:

Si es Iexplorer
{menuderecho.altura=menuizquierdo.altura}
Si es Netscape
{menuderecho.altura=menuizquierdo.altura}

Lo que yo quiero

Si es explore
{
Si menuizquierdo.altura > menuderecho.altura
{menuderecho.altura=menuizquierdo.altura}
Si menuderecho.altura > menuizquierdo.altura
{menuizquierdo.altura=menuderecho.altura}
}
Si es Netscape
{
Si menuizquierdo.altura > menuderecho.altura
{menuderecho.altura=menuizquierdo.altura}
Si menuderecho.altura > menuizquierdo.altura
{menuizquierdo.altura=menuderecho.altura}
}

Con lo que consigo que no se recorte ningun menu al igualarlos, asi no le quito espacio a los bloques que hay dentro de los menus, pk imagina si el menu derecho es mas grande que el izquierdo y aplicas tu formula... entiendes, gracias de todos modos.
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 20:46.