DOM и React Junior DOM на практике обновлено

Блокировка прокрутки

Условие

lockScroll() запрещает прокрутку body и возвращает функцию, точно восстанавливающую прежнее значение overflow (в том числе если его не было).

Что проверяют тесты

  • блокирует и восстанавливает пустое значение

  • восстанавливает прежнее значение

Как подойти

Паттерн «сохранить-изменить-восстановить». Подмена восстановления на overflow = 'auto' ломает страницы, где значение было другим. В настоящей модалке к этому добавляют компенсацию ширины скроллбара, иначе контент дёргается.

Подсказки: 2
  1. Запомни прежнее значение до перезаписи.
  2. Пустая строка - валидное прежнее значение, её тоже надо вернуть.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.