Les cuento el siguiente problema que no hallo como resolver: estoy haciendo una página en la cual posiciono un div con javascript, para que quede perfectamente centrado verticalmente y luego con respecto a ciertos elementos que están dentro de éste posiciono otros divs que en realidad son solo decoración (lineas).
El problema en cuestión es que al cargar la página no posiciona perfectamente las "líneas" (divs con 2px de ancho posicionados con javascript respecto a otros elementos)
Va más o menos así:
Código Javascript:
Ver original
<script type="text/javascript"> $(document).ready(function() { if ($(window).height()>600) { centrar_vertical( $("#texto_intro"), $("body")); } else { centrar_vertical( $("#texto_intro"), $("#frame_1")); } posicionar_lineas_decorativas(); $(window).resize(function() { if ($(window).height()>600) { centrar_vertical( $("#texto_intro"), $("body")); } else { centrar_vertical( $("#texto_intro"), $("#frame_1")); } posicionar_lineas_decorativas(); }); }); </script>
Código HTML:
Ver original
Código Javascript:
Ver original
function posicionar_lineas_decorativas() { ... top_line_1 = $("#dar_recorrido").offset().top + $("#dar_recorrido").height() - 27; left_line_1 = $("#dar_recorrido").offset().left + 5; $("#line3").css('top', top_line_1 + 'px'); $("#line3").css('width', left_line_1 + 'px'); top_line_1 = $("#dar_recorrido").offset().top + $("#dar_recorrido").height() - 33; left_line_1 = $("#dar_recorrido").offset().left + 5; $("#line4").css('top', top_line_1 + 'px'); $("#line4").css('width', left_line_1 + 'px'); ... }
Intenté llamando la funcion posicionar_lineas_decorativas() con un setTimeOut() pero no funcionó, lo intenté porque asumí que era porque el navegador tarde milésimas de segundos en posicionar el #texto_intro, y porque al hacer un alert dentro del javascript, logré que funcionara en mozilla.
No obstante... no creo que sea muy bonito un alert al entrar a un página xD Y aparte cuando le hago un resize a la ventana si se posicionan perfectamente o.O
Agradecería cualquier ayuda!
Muchas gracias de antemano!