Есть 3 вопроса.
1) Есть ссылки, при наведении на которые (onmouseover) появляется другой блок. Так вот нужно, чтобы после того, как курсор убирается с ссылки и наводится на блок, блок не закрывался.
2) Есть опять же ссылки, при клике с помощью цикла добавляется класс, и нужно, чтобы при клике на одну из ссылок, классы, которые добавились на другие ссылки удалились. То есть, класс добавился только на одну ссылку.
3) И последнее, открывается блок при клике на кнопку. Нужно закрыть его при нажатии на любое место, кроме этого блока. И все это на чистом JS.
1. По событию мыши просто добавляй класс или рисуй элемент (createElement()).
2. Ответ по ссылке, всплытие и перехват. Но оптимально и просто — по клику очищать все вхождения (соседние) от класса active и добавлять его через event.target.
3. Ответ по ссылке. Это называется миссклик (в смысле так его гуглить можно, это термин).