Выпадающее меню в минимум строк на Javascript

в 12:00, , рубрики: Dura Lex, javascript, метки: ,

Начало зимы встретило нас бумом статей о том как в N строк кода сделать какую-нибудь штуку на Javascript. Сначала несколько решений в 30 строк, затем в 399 символов. Апогеем стал код длинной в одну строку. Мы с коллегами задумались, а можно ли сделать что-то полезное и использовать меньше кода?

Как ни странно, но да.

Для примера мы взяли выпадающее меню в одном из проектов и для начала убрали jQuery, переписав все на нативный Javascript. Затем долго и упорно, подобно настоящим форнтенд-ниндзя мы поэтапно уменьшали размер используемого Javascript кода. У некоторых не выдерживали нервы и они оставили попытки найти идеальный Javascript код, но тех кто дошел до конца ждала награда и просветление.

Получившийся код сочетает в себе достоинства, которые до этого момента считались несовместимыми.

А именно:

  • минимализм;
  • отсутствие зависимостей от сторонних библиотек;
  • бесконечно малая скорость работы и потребление памяти;
  • понятность любому разработчику;
  • простота интеграции и повторного использования.

Вот jsfiddle демо.

Чтобы все окружающие смогли воспользоваться плодами нашего труда, мы выложили код библиотеки на Github.

Мы пытались найти ошибки и недостатки нашего решения, но команда тестировщиков ни к чему не смогла придраться. Если вы обнаружите какую-нибудь ошибку или у вас есть предложения по оптимизации, смело открывайте issue или создавайте merge request.

Автор: KooL

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js