Проблема ноды - однопоточность. Компенсируется асинхронностью, то есть путем разбития на микродействия код в одном потоке на ноде часто выполняется быстрее параллельного на других языках. Азы учить здесь: https://learn.javascript.ru/event-loop
Блок меню, по клику добавляется css классик с position: fixed; top: 0; left: 0; overflow: auto; width: 100vw; height: 100vh; z-index: 999. И не забудьте иконку закрытия на нем, по клику, убирающую этот классик и со e.stopPropagation() в коллбэке.