Таким образом, проблема заключается в том, что ваша функция hideNav скрывает навигацию, если пользователь нажимает где-либо за пределами кнопки навигации и показанного вами флажка. Однако, если пользователь нажимает на навигационную кнопку, она будет скрыта, прежде чем у вас будет возможность перемещаться по пользователю.
По сути, браузер обнаружит прослушиватель событий щелчка, который вы сделали для документа, прежде чем он перейдет к щелчку тега привязки. К тому времени, когда он туда доберется, тег привязки исчезнет. (Я надеюсь, что это имеет смысл, LOL)
В любом случае вы можете легко решить эту проблему, добавив в свою функцию hideNav следующее:
if(nav.contains(event.target)) return;
Также не забудьте добавить id = "nav" на вашу навигационную панель или как угодно, как хотите. Таким образом, панель навигации не исчезнет, когда вы нажмете на панель навигации. Он все равно исчезнет, если вы нажмете на панель навигации.