Выравнивание DOM-элементов [задача на красивый код]
10 000 руб. за проект
•
безналичный расчёт, электронные деньги
Задача: написать менеджер выравнивания плавающих элементов (тулбары, подсказки и т. д.).
Т. е. хотим, чтобы какой-то div отображался всегда сверху слева от другого div'а - создаем соотвествующий FloatManager, который умеет выравнивать один элемент относительно другого с заданными параметрами.
Далее нужно реализовать ещё пару нюансов: в зависимости от настроек наша плавающая панель может отображаться с противоположной стороны (снизу, если нет места сверху, например), а также двигаться в зависимости от скролла, чтобы всегда быть видимой. И ещё пара более простых FloatManager'ов (относительно границ экрана, например).
Более понятно будет в ТЗ. См. одну из иллюстраций.
Пишем на TypeScript, без внешних зависимостей (без npm пакетов), кроссброузерно (кроме древних IE). К библиотеке также прилагаем тестовое демо-приложение, которое будет показывать правильность работы во всех вариациях параметров.
После завершения напишем React-обертку (за доплату) - опционально, если вы знаете React.
У меня уже есть реализация, собранная мною на коленке впопыхах, но слегка глючная и с некрасивым кодом. Ваша задача - создать небольшое, но произведение искуства :)
Красивое API для вашего будущего красивого кода уже написано мною в ts-файле.
Т. е. хотим, чтобы какой-то div отображался всегда сверху слева от другого div'а - создаем соотвествующий FloatManager, который умеет выравнивать один элемент относительно другого с заданными параметрами.
Далее нужно реализовать ещё пару нюансов: в зависимости от настроек наша плавающая панель может отображаться с противоположной стороны (снизу, если нет места сверху, например), а также двигаться в зависимости от скролла, чтобы всегда быть видимой. И ещё пара более простых FloatManager'ов (относительно границ экрана, например).
Более понятно будет в ТЗ. См. одну из иллюстраций.
Пишем на TypeScript, без внешних зависимостей (без npm пакетов), кроссброузерно (кроме древних IE). К библиотеке также прилагаем тестовое демо-приложение, которое будет показывать правильность работы во всех вариациях параметров.
После завершения напишем React-обертку (за доплату) - опционально, если вы знаете React.
У меня уже есть реализация, собранная мною на коленке впопыхах, но слегка глючная и с некрасивым кодом. Ваша задача - создать небольшое, но произведение искуства :)
Красивое API для вашего будущего красивого кода уже написано мною в ts-файле.
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.