/
spirzen
/
it-knowledge-base
Обзор
Документация
Войти
/
spirzen
/
it-knowledge-base
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/components/shared/embedScrollLock.js
24 строки
641 B
Spirzen
New architecture
09 июн 2026, 01:54
09 июн 2026, 01:54
2b4da8b
Код
Авторство
О чём код?
let lockCount = 0; /** * Блокирует прокрутку страницы (refcount — несколько embed не ломают unlock). * @returns {() => void} release */ export function acquirePageScrollLock() { lockCount += 1; if (lockCount === 1) { document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; } let released = false; return () => { if (released) return; released = true; lockCount = Math.max(0, lockCount - 1); if (lockCount === 0) { document.documentElement.style.overflow = ''; document.body.style.overflow = ''; } }; }