DOM и React Junior DOM на практике обновлено
Блокировка прокрутки
Условие
lockScroll() запрещает прокрутку body и возвращает функцию, точно восстанавливающую прежнее значение overflow (в том числе если его не было).
Что проверяют тесты
блокирует и восстанавливает пустое значение
восстанавливает прежнее значение
Как подойти
Паттерн «сохранить-изменить-восстановить». Подмена восстановления на overflow = 'auto' ломает страницы, где значение было другим. В настоящей модалке к этому добавляют компенсацию ширины скроллбара, иначе контент дёргается.
Подсказки: 2
- Запомни прежнее значение до перезаписи.
- Пустая строка - валидное прежнее значение, её тоже надо вернуть.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.