MediaWiki:Common.js: различия между версиями
Askell (обсуждение | вклад) Нет описания правки |
Askell (обсуждение | вклад) Нет описания правки |
||
| Строка 34: | Строка 34: | ||
// Автоскролл при открытии выпадающих блоков | // Автоскролл при открытии выпадающих блоков | ||
document.addEventListener("DOMContentLoaded", function () { | |||
const dropdowns = document.querySelectorAll(".dropdown"); | |||
dropdowns.forEach(dropdown => { | |||
const btn = dropdown.querySelector(".dropbtn"); | |||
// | btn.addEventListener("click", function () { | ||
// закрываем другие спойлеры | |||
dropdowns.forEach(d => { | |||
if (d !== dropdown) d.classList.remove("active"); | |||
}); | |||
} | // переключаем текущий | ||
dropdown.classList.toggle("active"); | |||
// если открыт — скроллим к нему | |||
if (dropdown.classList.contains("active")) { | |||
setTimeout(() => { | |||
dropdown.scrollIntoView({ | |||
behavior: "smooth", | |||
block: "start" | |||
}); | |||
}, 150); // ждем пока CSS-анимация начнёт увеличивать высоту | |||
} | |||
}); | |||
}); | }); | ||
}); | }); | ||