Comunidad de diseño web y desarrollo en internet online

problema tras ejecutar ajax

Citar            
MensajeEscrito el 20 Sep 2011 12:03 am
Hola a todos les comento mi problema,
tengo un script js que al hacer click en un enlace carga el contenido de un archivo php por ajax, código es:

Código Javascript :

function envioAjax(link){
    var url ;
    url = link;
   alert(link);
    $.ajax({
        async:true,
        type: "GET",
        dataType: "html",
        contentType: "application/x-www-form-urlencoded",
        url: url,
        cache: false,
        beforeSend:inicioEnvio,
        success: procesarDatos
    });

}
function procesarDatos(html){
    $("#preloader").hide();
    $("#wrapper").css({
        'opacity' : 1
    });
    $("#main").empty();
    $("#main").append(html);
    $("#main").insertAfter("#sidebar");
}
function inicioEnvio()
{
    var x = $("#preloader");
    var y = $("#wrapper");
    y.css({
        'opacity' : 0.3
    });
    x.css("display","block");
}

$(document).ready(
    function() {
$('.ajax').click(function(){
         envioAjax($(this).attr('href'));
         return false;
         }
   });


El problema esta cuando se ejecuta el "envioAjax" al mostrar la nueva pagina no toma los otros script js por ejemplo la home de mi pagina es:


el estilo del la parte que dice "filtro de busqueda" lo toma de un script llamado effect.js pero al hacer click por ejemplo en el menú logs accesos la pagina me la carga asi:


como verán lo que esta remarcado en rojo sale distinto al "filtro de busqueda" del home, como que se pierde el efecto que hace el archivo effect.js cuando reviso el codigo fuente veo que el header esta bien que tiene la llamada al script.
Alguien me puede decir que estoy haciendo mal? desde ya muchas gracias por su ayuda

Por destor77

13 de clabLevel



Genero:Masculino  

Gálvez,Santa Fe, Argentina

firefox
Citar            
MensajeEscrito el 20 Sep 2011 12:08 pm
El problema es que como Ajax está cambiando el código fuente de la página dinámicamente, también cambia el DOM. Seguramente ese script efect.js está aplicado a un o unos elementos del DOM que ya no existen tras la petición Ajax porque fueron reemplazados.
La solución (sin ver el código de tu página ya que no nos dices dónde está) consistiría que tras la petición Ajax aplicaras otra vez el efect.js a los nuevos elementos que se integran al DOM.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 21 Sep 2011 12:13 pm

DriverOp escribió:

El problema es que como Ajax está cambiando el código fuente de la página dinámicamente, también cambia el DOM. Seguramente ese script efect.js está aplicado a un o unos elementos del DOM que ya no existen tras la petición Ajax porque fueron reemplazados.
La solución (sin ver el código de tu página ya que no nos dices dónde está) consistiría que tras la petición Ajax aplicaras otra vez el efect.js a los nuevos elementos que se integran al DOM.

Hola DriverOp,
primero que nada gracias por tu respuesta, te dejo la url del sitio de pruebas
http://www.oniricosistemas.com.ar/proyectos/punk_dev/admin/
user: admin
pass: abc123

Así lo ves en "vivo y directo" jeje, y si me podrias indicar como se debería hacer para aplicar otra vez los efectos tras la petición Ajax.
Desde ya muchas gracias

Por destor77

13 de clabLevel



Genero:Masculino  

Gálvez,Santa Fe, Argentina

firefox
Citar            
MensajeEscrito el 21 Sep 2011 05:21 pm
Ni idea.
No me voy a poner a rastrear en la sopa de funciones y dependencias solo por eso.
De todos modos lo que hace ese efects.js es puramente estético y además lo puedes hacer con CSS pelado y prescindir de él.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 21 Sep 2011 09:54 pm
con css puro tengo entendido que no se puede hacer porque no podes tomar los cambios de estado, pero bueno gracias igual veré si alguien mas me puede dar un mano o resignarme a usar ajax de forma nativa en mi framework :(

Por destor77

13 de clabLevel



Genero:Masculino  

Gálvez,Santa Fe, Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.