2023-05-26 18:21:56 +03:00
|
|
|
|
const contentPage = document.querySelector(".page_content");
|
|
|
|
|
const rootElement = document.documentElement;
|
|
|
|
|
|
2023-11-22 19:00:39 +03:00
|
|
|
|
// охуенное название файла, КТО ЭТО ПРИДУМАЛ КРАСАВА Я ИЗ КОМНАТЫ С ЭТОГО УЛЕТЕЛ НАХУЙ
|
|
|
|
|
|
|
|
|
|
let scrolledAndHidden = false;
|
|
|
|
|
|
2023-05-26 18:21:56 +03:00
|
|
|
|
let smallBlockObserver = new IntersectionObserver(entries => {
|
|
|
|
|
entries.forEach(x => {
|
|
|
|
|
window.requestAnimationFrame(() => {
|
|
|
|
|
let pastHeight = contentPage.getBoundingClientRect().height;
|
|
|
|
|
if(x.isIntersecting)
|
|
|
|
|
contentPage.classList.remove("overscrolled");
|
|
|
|
|
else
|
|
|
|
|
contentPage.classList.add("overscrolled");
|
|
|
|
|
|
2023-11-22 19:00:39 +03:00
|
|
|
|
// let currentHeight = contentPage.getBoundingClientRect().height;
|
|
|
|
|
// let ratio = currentHeight / pastHeight;
|
|
|
|
|
|
|
|
|
|
// rootElement.scrollTop *= ratio;
|
2023-05-26 18:21:56 +03:00
|
|
|
|
|
2023-11-22 19:00:39 +03:00
|
|
|
|
// То что я задокументировал - работает мегакриво.
|
|
|
|
|
// Пусть юзер и проскролливает какую-то часть контента, зато не получит
|
|
|
|
|
// эпилепсии при использовании :)
|
2023-05-26 18:21:56 +03:00
|
|
|
|
}, contentPage);
|
|
|
|
|
});
|
|
|
|
|
}, {
|
|
|
|
|
root: null, // screen
|
|
|
|
|
rootMargin: "0px",
|
|
|
|
|
threshold: 0
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
let smol = document.querySelector('div[class$="_small_block"]');
|
|
|
|
|
if(smol != null)
|
|
|
|
|
smallBlockObserver.observe(smol);
|