Estoy usando AJAX para cargar una lista de capítulos de cómics al hacer clic. Funciona bien. Me gustaría modificar el script para ocultar los capítulos cuando vuelva a hacer clic en el mismo libro. Esperemos que las siguientes imágenes lo aclaren.
El código para cargar los capítulos es el siguiente:
function aload(element) { var url = element.getAttribute('data-ajax-url'); var xhr = new XMLHttpRequest(); xhr.open("POST", url); xhr.setRequestHeader("X-CSRFToken", csrftoken); xhr.onreadystatechange = function() { if (xhr.readyState === 4){ document.getElementById("chapter-container").innerHTML = this.response; } } xhr.send(); }Gracias por todas sus sugerencias.
Gracias @Barmar por tus sugerencias, finalmente implementé una solución funcional.
var previousValue; function compare(element) { var currentValue = element.dataset.bookid; var chapterList = document.getElementById("chapter-container") if (previousValue == currentValue && chapterList.style.display == 'block'){ chapterList.style.display = 'none'; } else{ aload(element); } previousValue = currentValue; }