Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Contenido de slider = 0px ?????

Estas en el tema de Contenido de slider = 0px ????? en el foro de CSS en Foros del Web. Me estoy volviendo loco intentando fixear este problema y no se donde puede estar el fallo. Tengo un slider casero: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver ...
  #1 (permalink)  
Antiguo 16/03/2013, 14:11
Avatar de bNd170  
Fecha de Ingreso: agosto-2009
Ubicación: $this->setLocation('Valencia', 'Spain');
Mensajes: 365
Antigüedad: 14 años, 7 meses
Puntos: 13
Contenido de slider = 0px ?????

Me estoy volviendo loco intentando fixear este problema y no se donde puede estar el fallo.

Tengo un slider casero:
Código HTML:
Ver original
  1. <section class="slider ignora-bordes">
  2.         <ul id="slider">
  3.             <li class="ignora-bordes"><a href="/"><span>Texto del slider</span><img src="images/slider.jpg" alt="Slider"></a></li>
  4.         </ul>
  5.     </section>
Y aqui su css:
Código CSS:
Ver original
  1. section.slider ul#slider {
  2.     list-style: none;
  3.     overflow: hidden;
  4.     width: 100%;
  5.     margin: 0 auto;
  6.     padding: 0;
  7.     text-align: center;
  8.     border-bottom: 5px solid #000;
  9.     font-size: 0;
  10. }
  11. section.slider ul#slider > li {
  12.     position:relative;
  13.     display:inline-block;
  14. }
  15. section.slider ul#slider > li > a {
  16.         display: inline-block;
  17. }
  18. section.slider ul#slider > li > a > span {
  19.     position: absolute;
  20.     color: #fff;
  21.     font-size: 36px;
  22.     text-shadow: 0 0 34px #000;
  23.     font-weight: 900;
  24.     display: inline-block;
  25. }
  26. section.slider ul#slider img {
  27.     width: 100%;
  28. }

Bien el caso es que el texto del slider lo tengo que centrar mediante Javascript, mas concretamente usando jQuery y he hecho esta funcion.

Código Javascript:
Ver original
  1. function redimensiona_texto_slider() {
  2.         $('section.slider ul#slider > li').each(function() {
  3.             var ancho_slider = $(this).width(),
  4.                 alto_slider = $(this).height(),
  5.                 alto_texto = $(this).find('span').height(),
  6.                 ancho_texto = $(this).find('span').width(),
  7.                 top_texto = alto_slider / 2 - alto_texto / 2,
  8.                 left_texto = ancho_slider / 2 - ancho_texto / 2;
  9.             console.log('Slider alto = '+alto_slider+'px | Slider ancho= '+ancho_slider+'px | Span alto = '+alto_texto+'px | Span ancho= '+ancho_texto+'px');
  10.             if(top_texto == 0)
  11.                 $(this).find('span').css({'font-size':ancho_slider/40 + 'px', 'left':left_texto+'px'});            
  12.             else
  13.                 $(this).find('span').css({'font-size':ancho_slider/40 + 'px', 'top':top_texto+'px', 'left':left_texto+'px'});
  14.         });
  15.     }
  16.     $(window).on('resize',function() {
  17.         redimensiona_texto_slider();
  18.     });
  19.     redimensiona_texto_slider();

Y el caso es que la primera vez que llamo al console.log me devuelve esto:

Código:
Slider alto = 0px | Slider ancho= 1583px | Span alto = 44px | Span ancho= 678px
Y cuando hago el resize esto otro:
Código:
Slider alto = 570px | Slider ancho= 1583px | Span alto = 50px | Span ancho= 754px
Es como si la primera vez que ejecutase la funcion despues de haber cargado el DOM, el slider no tuviese height establecido y al resizar si.

¿Alguien sabe que puede estar pasando?


EDITO:

Bendito google, estaba ya desesperado cuando he encontrado este articulo, por si alguien ha tenido un problema similar lo comparto

http://es.softuses.com/72545

$(document).ready(); Se ejecuta cuando el DOM ha sido cargado, las imagenes no forman parte de este a la hora de cargar.

En su lugar usamos

$(window).load(); Esto ejecutará todo una vez la web haya finalizado de cargar al 100%

Última edición por bNd170; 16/03/2013 a las 14:21
  #2 (permalink)  
Antiguo 17/03/2013, 02:12
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Contenido de slider = 0px ?????

Aunque esté solucionado, pide que te muevan el hilo —dándole al triangulito para reportar— al foro de jQuery ya que no tiene mucho que ver con CSS.

Etiquetas: ancho, contenido, slider
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 23:07.