Ваша функция rateMeal создает ожидаемые рейтинговые функции и поведение. См инструкции - PullRequest
0 голосов
/ 03 июля 2019

У меня следующие инструкции:

Инструкция 1:

-Просто над функцией formatMoney создайте функцию стрелки getRating, которая должна принимать параметр звезды (звезда, на которую нажал пользователь).getRating должен возвращать значение атрибута скорости передачи данных своего звездного параметра в виде целого числа.

-Так как вызывается rateMeal для обработки события щелчка, ему будет предоставлен объект события в качестве параметра.Обновите функцию rateMeal и деструктурируйте ожидаемый параметр события до целевого свойства.

-Sill в rateMeal, чтобы получить числовое значение рейтинга, по которому щелкнули, вызовите getRating с целевым параметром rateMeal, затем назначьтезначение, возвращаемое в переменную рейтинга.

-rateMeal должен вызывать функцию calcTip.

-Просто перед вызовом функции convertTip реализуется функция оценки приема пищи.Как и на популярных веб-сайтах электронной коммерции, если пользователь оценил блюдо как 4 звезды (щелкнув только по 4-й звезде), все предшествующие звёздные элементы должны быть помечены как оцененные, присвоив им оцененный класс CSS.

-Подсказка: * Сначала получите все оценочные значения SPAN, затем удалите все предыдущие оценки, удалив оцененный класс, а затем добавьте .rated класс к звездам, числовое значение рейтинга которых меньше или равно значению для звезды, на которую нажали!

-Примечание. Пользователю разрешается предоставлять оценку только в том случае, если он сделал выбор блюд.Ваша функция rateMeal должна проверить это и выйти рано, если выбора еды не существует.Выбор осуществляется путем выбора опции еды (изображения), которая затем добавляет атрибут «выбранные данные» к его родительскому элементу на шаге 1 выше.RateMeal должен сначала проверить и продолжить, только если выбор существует.

const getRating = (star) => {
            return parseInt(star.getAttribute('data-rate'));
        }
 const formatMoney = (figure) => {
            return figure
        }
  const mealChoosen = ({ target }) => {
            const items = document.querySelectorAll('.item').forEach((item) => {
                item.removeAttribute('data-selected');
            })
            target.parentNode.setAttribute('data-selected');
            calculateTip();
        }
   const rateMeal = ({ target }) => {
            const rating = getRating(target);
            for (i = 1; i <= 5; i++) {
                const item = document.querySelector(`[data-rate='${i}']`);
                item.classList.remove('rated');
            }
            for (i = 1; i <= rating; i++) {
                const item = document.querySelector(`[data-rate='${i}']`);
                item.classList.add('rated');
            }
            calculateTip();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...