Ver Mensaje Individual
  #9 (permalink)  
Antiguo 15/03/2010, 10:30
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: cargar archivo css despues de ajax con jquery

no será que es problema de referencia a las hojas de estilo?

cuando haces un load a agregar.php en ese archivo podes incluir al css y lo va a tomar, por ej:

Código HTML:
<link rel="stylesheet" href="agregar.css" type="text/css" media="screen" />
<div>contenido de agregar.php</div> 
si en index haces
Código HTML:
$("div").load("agregar.php");
te va a traer todos los estilos que tengas en agregar.css porque lo llamas desde agregar.php

el problema común es que cuando agregar.php esta en una carpeta inferior o superior por ejemplo clientes/agregar.php y lo llamas desde el index que está en un nivel inferior, porque no va a encontrar la ruta ya que agregar.php hace referencia al css de la forma agregar.css href="agregar.css", como lo llamas desde un directorio inferior tendrias que usar href="clientes/agregar.css"

medio liado pero no se como explicar jeje

por ej:
crea en una misma carpeta:
index.php
uno.php
uno.css
dos.php
dos.css

en index colocá este código:
Código HTML:
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script>
    $( function (){
        $('#cambiar').toggle( function (){
            $("#contenido").load("uno.php");
        }, function (){
                $("#contenido").load("dos.php");
        });
    });
  </script>
  <style>
      div{height:300px; width:300px}
  </style>
</head>
<body>
    <a href="#" id="cambiar">Llamar archivos</a>
    <div id="contenido"> </div>
</body>
</html> 
en uno.php colocá:
Código HTML:
<link rel="stylesheet" href="uno.css" type="text/css" media="screen" />
<div>pagina uno con color rojo</div> 
incluye el archivo uno.css que tiene un color de fondo rojo

en uno.css colocá:
Código HTML:
body{background-color:red}
en dos.php colocá:
Código HTML:
<link rel="stylesheet" href="dos.css" type="text/css" media="screen" />
<div>pagina dos color azul</div> 
incluye el archivo dos.css que tiene un color de fondo azul

en dos.css colocá:
Código HTML:
body{background-color:blue}
entras a index y al clickear en el link vas a ver como carga el contenido de los archivos y a su vez cambiar el color de fondo

si entras por url a uno.php o a dos.php vas a ver que cada uno tiene su color de fondo como se le indica en el css

hasta ahi todo bien

ahora create una carpeta que se llame seccion1 y coloca los archivos uno.php y uno.css y otra carpeta que se llame seccion2 y coloca los archivos uno.php y dos.php, si entras por url a seccion1/uno.php vas a ver que sigue todo igual, lo mismo para seccion2/dos.php, en el index para llamar a los archivos vas a tener que modificar a $("#contenido").load("seccion1/uno.php"); y $("#contenido").load("seccion2/dos.php");

pero cuando llamas a esos archivos vas a ver que se cambia el contenido por no los estilo como lo haciamos hoy cuando estaban todos en una misma carpeta porque no va a encontrar el css, lo que tenes que hacer es en uno.php colocar
<link rel="stylesheet" href="seccion1/uno.css" type="text/css" media="screen" /> y en dos.php <link rel="stylesheet" href="seccion2/dos.css" type="text/css" media="screen" />

tenes que haces referencia al css desde el index o bien usar url obsolutas como http:dominio.com.ar/carpeta/carpeta/archivo.css asi no tenes problemas desde ninguna ubicación


ojala sea esto tu problema jeje