Hola!! tengo esta función para 'pintar' código html que puede venir desde cualquier página:
Código Javascript
:
Ver originalfunction respuesta_ajax(pagina, cadena, idrespuesta){
$.ajax({
cache: false,
url: pagina + cadena,
type: 'post',
beforeSend: function() {
//MOdificamos esta línea para que machaque después
//de cargar.
//$('#'+idrespuesta).html('<div class="espera"></div>');
// mostramos reloj
$('#respuestaajax').html('<div class="espera"></div>');
},
success: function (response) {
$('#respuestaajax').html('');
$("#"+idrespuesta).html(response);
}
});
}
es muy simple, muestra un reloj y pinta el html en el contenedor pasado.
Pues desde el menú de mi tienda en línea se ejecuta esta función para cargar una categoría:
Código Javascript
:
Ver originalfunction cargar_cat(idcat)
{
/*
Creamos la url, se trata de ejecutar
el subproceso que filtra por una categoría,
en este caso se restablecen el resto de variables
de sesión.
*/
//línea eliminada por firefox
//event.preventDefault();
var url = '?proceso=ec_resultados_index&subproceso=selectcat&cat=' + idcat;
respuesta_ajax('/ProcesosAjax_ec.asp', url, 'contenido_ajax');
muestra_oculta('dl-menu');
$("html, body").animate({ scrollTop: $('#contenido_ajax').offset().top }, 1000);
}
lo que hace es devover el html con los artículos de la categoría pasada, oculta el div de las categorías y hace scroll hasta los resultados.
pues bien, sólo funciona en Chrome, ni IE, Firefox, ni Opera.
No da error en la consola, extrae bien el html con los artículos, cierra el div con las categorías y hace el scroll, pero no sustituye el código html con los artículos solicitados.