Интро :
- Данный проект представляет собой простую версию калькулятора калорий для расчета количества потребляемых каллорий в течение дня для достижения различных целей, будь то набор, поддержание или потеря веса.
- ЗЫ: Не особо упарывался в дизайн и адаптив, хотелось больше поиграться с логикой на стороне JS.
Технологии :
- HTML
- CSS (изначально был SCSS, но он оказался не шибко нужен тут)
- JS
Функционал :
- принимать данные от пользователя и рассчитывать количество каллорий в стороны набора, поддержки и снижения веса на основе этих данных
- возможность выбора формулы
- возможность очистки полей формы
- автоматическая очистка формы после отправки
Проблемы с которыми столкнулся :
- так как this не работает вне метода объекта возвращался NaN при расчете который задействовал baseValue. Изначально можно было проще решить, но я зациклился на идее сохранения данных в объекте.
- вычисления были правильными после решения предыдущей проблемы, но из-за функции очистки clearForm(), value заменялось на пустоту поэтому не было ни формулы расчета, ни пола, и возвращалось не верно посчитанное значение.
- функцию очистки можно наполовину заменить event.target.reset() который сбрасывает поля к начальным значениям а другую половину оставить под полную очистку после нажатия на кнопку и получается так, что форма очищается полностью, но ее значения не становятся пустыми строками, а заменяются выбранными или же теми что были по умолчанию если иного не дано
- отрицательные числа
Улучшил :
- понимание взаимодействия HTML, CSS, JS между собой и их совместного использования
- понимание взаимодействия со страницей через DOM
- понимание обработки событий
- понимание логики связывания блоков кода между собой
- написание функций и понимание логики возврата значений и их последующего использования
- понимание логики написания условий и последующей обработки
- понимание логики написания и работы форм, а так же логику обработки данных из них
- понимание логики работы с объектами и их преимущества
На будущее :
- адаптировать посерьезнее
- добавить темпы снижения/набора веса (сколько веса +/- за промежуток d/w/m/y)
- добавить текст о важности подсчета калорий
- добавить графики КБЖУ
- расчеты в других системах измерения
Проект завершен.