Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Modificar altura div con js

Estas en el tema de Modificar altura div con js en el foro de Javascript en Foros del Web. Saludos. Ya sé que hay varios hilos sobre este tema. He estado viéndolos y mi código coincide con lo que he visto. Pero no funciona. ...
  #1 (permalink)  
Antiguo 22/09/2016, 04:19
 
Fecha de Ingreso: noviembre-2014
Ubicación: Madrid
Mensajes: 81
Antigüedad: 9 años, 5 meses
Puntos: 1
Modificar altura div con js

Saludos.
Ya sé que hay varios hilos sobre este tema. He estado viéndolos y mi código coincide con lo que he visto. Pero no funciona. Presupongo que debe ser alguna tontería de la que no me doy cuenta.
El objetivo es hacer que un div cambie de altura según la altura de la ventana del navegador, sobre la marcha( esto quiere decir que si el usuario hace más pequeña la ventana el div active el auto scroll, pero a eso aún no he llegado).
Tengo este div:
Código:
<div id="lateral">
   <ul>
      <li>Para menú</li>
      <li>Para menú</li>
      <li>Para menú</li>
   </ul>
</div>
Con este estilo:
Código:
#lateral{
    width: 18%;
    background-color: #ffffcc;
    padding: 1%;
    /*overflow: auto;*/
    height: 300px;
    float: left;
}
Estas son las llamadas a los scripts de js en head:
Código:
        <script type="text/javascript" src="sinframes.js"></script>
        <link type="text/css" rel="stylesheet" href="sinframes.css" />
        <script type="text/javascript">window.onload=alturalateral;</script>
Y esta la funcion:
Código:
function alturalateral(){
	var h = window.innerHeight;
	var hlateral = document.getElementById('lateral');
	var hhlateral = hlateral.style.height;
}
En el navegador hago el debug paso a paso de esta tonta función y me dice que el valor de la variable hhlateral = ''
No tengo ni idea de qué falla, a ver si alguna neurona preclara me da luz.
Gracias por adelantado.
  #2 (permalink)  
Antiguo 22/09/2016, 06:03
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Modificar altura div con js

Nada tiene que ver en este asunto javascript. La unidad del height ponla en porcentaje (%) y al bloque le asignas la propiedad position: absolute;
Código CSS:
Ver original
  1. #lateral{
  2.     width: 18%;
  3.     background-color: #ffffcc;
  4.     padding: 1%;
  5.     overflow: auto;
  6.     height: 50%;
  7.     float: left;
  8.     position: absolute;
  9. }
  #3 (permalink)  
Antiguo 22/09/2016, 06:15
 
Fecha de Ingreso: noviembre-2014
Ubicación: Madrid
Mensajes: 81
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Modificar altura div con js

Ok. Agradezco tu aportación. Esto facilitará mi objetivo final. Pero es que quiero modificar la altura del div. Mientras la variable var hhlateral = hlateral.style.height me siga dando como resultado '', no puedo hacerlo.
Código:
hlateral = document.getElementById('lateral');
  #4 (permalink)  
Antiguo 22/09/2016, 08:01
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Modificar altura div con js

style.height se usa para cambiar el valor del alto del elemento.Para obtener el alto del elemento sólo es necesario la propiedad heigth, offsetHeight o clientHeigth
[URL="http://www.google.es/search?q=element.height+vs+element.style.height&sp ell=1&sa=X&ved=0ahUKEwia1ICXk6PPAhXjA8AKHbATC-4QvwUIDCgA"]http://www.google.es/search?q=element.height+vs+element.style.height&sp ell=1&sa=X&ved=0ahUKEwia1ICXk6PPAhXjA8AKHbATC-4QvwUIDCgA[/URL]

Última edición por mpozo; 22/09/2016 a las 09:21 Razón: Faltó una opción
  #5 (permalink)  
Antiguo 22/09/2016, 12:41
 
Fecha de Ingreso: noviembre-2014
Ubicación: Madrid
Mensajes: 81
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Modificar altura div con js

Muchas gracias. Solucionado.
Sólo height, sin style, no funciona, offsetHeight funciona y clientHeght no lo he probado-
  #6 (permalink)  
Antiguo 23/09/2016, 06:31
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Modificar altura div con js

La propiedad height retorna el alto de aquellos elementos en los que se reserva un espacio para ellos, por ejemplo; una imagen, nunca un bloque. Retornará el alto real de la imagen siempre y cuando la imagen no se establezca la propiedad height. Para obtener el alto real de la imagen, se haya establecido la propiedad height o no, se usa naturalHeight. Un ejemplo
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html dir="ltr" lang="es-es">
  3.     <head>
  4.         <title></title>
  5.         <meta charset="utf-8">
  6.         <style>
  7.             img {
  8.                 height: 600px;
  9.             }
  10.         </style>
  11.         <script>
  12.           window.addEventListener('load', function() {
  13.             console.log(document.querySelector('img').height); // 600
  14.             console.log(document.querySelector('img').naturalHeight); // 360
  15.           }, false);
  16.     </script>
  17.     </head>
  18.     <body>
  19.  
  20.         <img src="http://s03.s3c.es/imag/_v0/640x360/c/b/9/coches-caros-veneno.png">
  21.  
  22.     </body>
  23. </html>

Última edición por mpozo; 04/10/2016 a las 08:25 Razón: height no es un atributo, es una propiedad

Etiquetas: altura, modificar
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 03:24.