Longitud de capas

Saludos,
Me enfrento al problema de tener que conocer la longitud de una capa 'DIV' en tiempo de ejecución, debido a que dicha longitud es variable, de tal forma que según los datos que contenga (html), tendrá un tamaño u otro. He intentado acceder al estilo, pero sólo parece devolver valor con la propiedad '.pixelTop'. Ejemplo:'MiCapa.style.pixelTop', sin embargo no puedo obtener resultados para propiedades como '.pixelHeight' o '.height', devuelven 0 y cadena vacía respectivamente. Desconozco los motivos de esto, o si tendría que estar haciéndolo de otra manera, el caso es que necesito conocer la longitud del div una vez que contiene el html. A ver si puedes echarme una mano.
Muchas gracias por adelantado.

2 Respuestas

Respuesta
1
La verdad es que como tu comentas, no es posible saber todas las propiedades de las capas, ya que JavaScript tiene algunas limitaciones y esta es una de ellas. Como consejo te diría que hicieses lo siguiente:
ME comentas que en función a la información que contenga la capa, deberá de tener unas determinadas propiedades, pues bien, si sabes esto, puedes componer las capas de forma dinámica desde el servidor, es decir desde ASP, y no tendrás ningún problema ya que la capa la creas literalemente tu, antes de que se cargue la página, por lo que podrás ponerle las medidas que quieras, de hecho esta es la fomra más usada cuando se tiene que jugar con las dimensiones y posiciones de las capas.
Nada más, espero haberte ayudado, si necesitas algún consejo más, o bien no sabes como hacer esto que te comento, no diudes en ponerte en contacto conmigo y te ayudare mandandot ejemplos o lo que sea necesario.
Nada más.
Bueno, es una mala noticia, el tema de hacerlo en el servidor (trabajo con cold fusion), es muy engorroso porque son datos de usuario variables y habría que hacer cálculos estimados.
Muchas gracias por tu ayuda.
Respuesta
1
Si he entendido bien tu pregunta, el resultado sería preparar la capa antes de escribirla en el documento.
Si defines los parámetros del DIV con clips + tamaño height + tamaño width deberías conseguir controlar todos los tamaños que puede llegar a tener tu capa. Luego una vez la capa tratada deberías incluirla en el documento con una función de insertAdjacentHTML para IE o con un document. open + document. write + document. Close en NS.
La forma de proceder sería creando variables string con el código a insertar en el Div, y luego creando una función creadora de capa. Esta tendría que definir como será la capa y entre los parámetros estarían los tamaños verticales y horizontales y también los valores de recorte (muy importante para hacer cuadrar los tamaños). A señalar que la función debería poder permitir la no-introducción de valores y sólo con el tipo de posicionamento podrías calcular los valores naturales de cada capa.
Si el contenido de tu capa es texto sólo definiendo un style para éste conseguirías tratar los tamaños.
Finalmente para calcular tamaños también dispones de las funciones innerWidth y innerHeight (IE).
Me parece parece buena respuesta, al final he anidado dos capas, la padre contiene el clip, y con la propiedad scrollHeight, he podido (al menos), conocer la longitud de la parte oculta de la hija (capa móvil), bueno de esa forma puedo conocer la longitud en tiempo de ejecución. Todo esto lo necesitaba para desplazar una capa verticalmente a modo de 'scroll' y que el movimiento se autoajustase a la longitud de dicha capa móvil. Muchas gracias y un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas