Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/03/2010, 18:42
Avatar de hanscruz
hanscruz
 
Fecha de Ingreso: junio-2005
Mensajes: 278
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: cargar archivo css despues de ajax con jquery

Bueno pues no creo que sea cosa de poner codigo ya que lo quiero saber es como hacerlo, estoy perdido, busque mucho pero no halle respuesta incluso lei todas las formas ajax de jquery pero no hay ni un solo ejemplo de lo que quiero hacer, entonces me puse a pensar que talves mi planteamiento estaria mal y decidi preguntar.

Bueno tratare de explicarme mejor:
  • Tengo una aplicacion hecha 100% usando ajax con jquery.
  • Tengo mas de 100 secciones (archivos php) los cuales llamo mediante ajax usando .load, $.ajax, $.get, etc., segun el requerimiento.
  • Los estilos css que dan forma a cada seccion los cargo en un archivo unico css, en el head al iniciar la aplicacion (index.php).

Bien hasta ahi todo iva bien la aplicacion funcionaba perfectamente. Pero resulta que el codigo de inicio es era muy pesado, cargaba miles de lineas de javascript y miles de lineas de css, entonces opte por separar los codigos y cargarlos solo cuando se haga la peticion de alguna seccion.

Bien logre perfectamente separar el codigo javascript me funciona perfectamente (la verdad no tuve que hacer mucho ya que jquery lo hace por mi)

El problema se presento cuando separe el codigo css, trate de insertarlo de muchas formas pero la peticion ajax no me las toma osea no aplica el css a la seccion correspondiente.

Lo hice de las siguientes formas:


Código HTML:
Ver original
  1. <style type="text/css" title="currentStyle" media="screen">@import "css/estilos.css";</style>
  2. </head>
Este no lo toma por que el head ya ha sido leido al cargar la aplicacion (index.php)




Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $('#midiv').addClass(function(){
  3. color: "black",
  4. background-color: "white"
  5. });
  6. </script>
Este ultimo lo intente de muchas formas, usando $.getscript, .load, .css, etc, casi todo lo que hay en la documentacion de jquery.com, pero no me funciona.



Segun lo que investigue se debe a que los estilos ya han sido cargados y al llamrlos de forma asincrona se puede cambiar el dom pero no leer nuevamente los estilos.

Bien, dicho esto espero haberme explicado mejor, segun creo, y ya lo dije creo que lo estoy haciendo de otra forma y talves esto es muy sencillo de hacer, pero no doy con ello.

Saludos.
__________________
:policia: