На странице сайта открывается блок с описанием. Решил добавить плавности и сделал проверку, открыт блок или нет.
Проблема в том, что когда блок открыт, понятно, что у него добавлен класс "_open". Но js (первый алерт) выдаёт, будто у него класс "_close". Хотя второй показывает, что "_open". В html-е задан класс "_close".
function description_show() {
oll_frames_close();
var t = 0;
let c = document.getElementById("page_description"); alert(c.classList);
if (c.classList.contains("page_description_open")) {
c.classList.remove("page_description_open"), c.classList.add("page_description_close");
t = 500;
}
let e = document.getElementById("description_body");
var a = this.getAttribute("data-id");
var d = new XMLHttpRequest;
a = "id=" + a;
d.open("POST", "service/xxxxxxxx.php", !0);
d.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
d.addEventListener("readystatechange", function () {
if (4 === d.readyState && 200 === d.status) {
setTimeout(function () {
e.innerHTML = d.responseText;
c.classList.remove("page_description_close"), c.classList.add("page_description_open"); alert(c.classList);
}, t);
}
});
d.send(a);
}