mirror of
https://github.com/openvk/openvk
synced 2024-12-23 17:12:01 +03:00
35 lines
No EOL
1.4 KiB
JavaScript
35 lines
No EOL
1.4 KiB
JavaScript
const contentPage = document.querySelector(".page_content");
|
||
const rootElement = document.documentElement;
|
||
|
||
// охуенное название файла, КТО ЭТО ПРИДУМАЛ КРАСАВА Я ИЗ КОМНАТЫ С ЭТОГО УЛЕТЕЛ НАХУЙ
|
||
|
||
let scrolledAndHidden = false;
|
||
|
||
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");
|
||
|
||
// let currentHeight = contentPage.getBoundingClientRect().height;
|
||
// let ratio = currentHeight / pastHeight;
|
||
|
||
// rootElement.scrollTop *= ratio;
|
||
|
||
// То что я задокументировал - работает мегакриво.
|
||
// Пусть юзер и проскролливает какую-то часть контента, зато не получит
|
||
// эпилепсии при использовании :)
|
||
}, contentPage);
|
||
});
|
||
}, {
|
||
root: null, // screen
|
||
rootMargin: "0px",
|
||
threshold: 0
|
||
});
|
||
|
||
let smol = document.querySelector('div[class$="_small_block"]');
|
||
if(smol != null)
|
||
smallBlockObserver.observe(smol); |