En el menú de opciones de mi aplicación web, implementé una función para que al dar un clic a cada opción del menú, abra una página dentro de un div haciendo uso de la función Ajax de jQuery. Esta es la función:
Código:
Y cada enlace del menú de opciones es así:function mostrar_pagina(capa, pagina){ $(function(){ $.ajax({ url: pagina, beforeSend:function(){ $("#cargando").show(); }, success:function(url){ $("#"+capa).html(url); $("#cargando").hide(); } }); }); }
Código HTML:
<a href="javascript: mostrar_pagina('principal', '../Fichas/ver_fichas.php')" class="arrow">Nombre del enlace</a>
La información que muestra Firebug en Firefox indica que al dar el primer clic, se ejecuta la función y el proceso tiene una demora de 391 milésimas de segundo, mientras que cuando doy el segundo clic, la demora es de 47 ms, que es cuando finalmente carga la página y se muestra. El problema es el mismo con todos los enlaces del menú, sin embargo, luego de haber dar el segundo clic a una opción, el resto de enlaces y el mismo enlace ejecutan la carga con 1 solo clic.
Intenté eliminando beforeSend que muestra el gif de espera pero da igual pues solo muestra el gif, no afecta a la ejecución de la función.
¿Cuál puede ser el problema y cómo puedo darle solución?