Este código aparece en el encabezado de todas mis páginas web. Cuando hago clic en un enlace de mi sitio web, no puedo usar los botones de la página hasta que actualizo. ¿Cómo puedo arreglar esto?
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('.faqElement').click(function() { var faqElement = $(this); var question = faqElement.find('.faqQuestion'); var answer = faqElement.find('.faqAnswer'); if (!answer.hasClass('activeFaqAnswer')) { $('.faqElement').removeClass('flipButton'); faqElement.addClass('flipButton'); $('.activeFaqAnswer').css('max-height', ''); $('.faqAnswer').removeClass('activeFaqAnswer'); answer.css('max-height', 'none'); answer.css('max-height', answer.height()); answer.addClass('activeFaqAnswer'); } }); }); </script>
Esto suena como un conflicto con su script personalizado y la carga de AJAX de Squarespace :
Ocasionalmente, Ajax puede entrar en conflicto con el código personalizado incrustado o los enlaces de anclaje. Ajax también puede interferir con el análisis del sitio, registrando visitas solo en la primera página.
Entonces, dependiendo de su plantilla, puede encontrar que deshabilitar AJAX es una solución simple:
Puede deshabilitar Ajax en el Editor de estilos, con algunas excepciones:
- Ajax no se puede deshabilitar en Skye, Foundry o Tudor.
- Ajax no se puede deshabilitar en la página de destino del blog para Farro y Haute. Si desmarca Habilitar la carga de Ajax en estas plantillas, seguirán usando Ajax para cargar la página de blog.
Para habilitar o deshabilitar Ajax:
- En el Menú de inicio, haga clic en Diseño y luego en Editor de estilos.
- Desplácese hacia abajo hasta Sitio: Cargando.
- Marque o desmarque Habilitar carga Ajax.
Si no desea deshabilitar AJAX por completo, consulte la "Opción 2" en esta respuesta para conocer las formas de escribir su código para que funcione en la carga de la página inicial y en las cargas de la página AJAX.
Parece que Ajax carga contenido dinámicamente y arruina tus enlaces.
Puede llamar a su función después de cada solicitud de Ajax usando $.ajaxComplete()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> <script> function faqElementClick() { $('.faqElement').click(function() { var faqElement = $(this); var question = faqElement.find('.faqQuestion'); var answer = faqElement.find('.faqAnswer'); if (!answer.hasClass('activeFaqAnswer')) { $('.faqElement').removeClass('flipButton'); faqElement.addClass('flipButton'); $('.activeFaqAnswer').css('max-height', ''); $('.faqAnswer').removeClass('activeFaqAnswer'); answer.css('max-height', 'none'); answer.css('max-height', answer.height()); answer.addClass('activeFaqAnswer'); } }); }; $(document).ready(faqElementClick); $(document).ajaxComplete(faqElementClick); </script>