- Теория
- Теория
Тринадцатая программа: «Мороженое. Возвращение»
Не успели вы доделать одну задачу, как Кекс пришёл с новой.
Мяу! Помнишь магазин мороженого? Нужно создать карточки товаров, основываясь на данных, полученных с сервера.
Данные — массив объектов
cardsData, один элемент соответствует одному товару. У каждого объекта есть следующие свойства:
inStock— доступность товара. Если значениеtrue— товар доступен (для такого продукта верстальщик подготовил классgood--available), еслиfalse— продукта нет в наличии (товар с классомgood--unavailable).imgUrl— ссылка на изображение товара.text— название продукта.price— цена.isHit— является ли товар хитом продаж. Если значениеtrue— продукт «хитовый». Для такого товара подготовлен классgood--hit.specialOffer— специальное предложение, которое есть только у хита продаж. Должно находиться в абзаце с классомgood__special-offerи быть самым последним дочерним элементом в карточке.Вот пример вёрстки одной карточки в каталоге:
<ul class="goods"> <li class="good"> <h2 class="good__description">Сливочно-кофейное с кусочками шоколада</h2> <img class="good__image" src="gllacy/choco.jpg" alt="Сливочно-кофейное с кусочками шоколада"> <p class="good__price">110₽/кг</p> </li> … </ul>Обрати внимание, что текст в атрибуте
altу изображения должен быть таким же, как и название товара.Создай функцию
renderCards, которая будет принимать на вход массив данных, вызови её, передавcardsData, и отрисуй на странице карточки мороженого.
Обратите внимание, в какой последовательности идут элементы в карточке товара. Помните, что при вставке через appendChild, элементы добавляются в конец родителя.
Для того чтобы собрать строку с ценой, используйте конкатенацию: цена + '₽/кг'.
Когда всё будет готово, нажмите Заказчик, принимай программу!, чтобы показать работу Кексу.
Хорошо владеете JavaScript, но до сих пор не освоили Node.js? Записывайтесь на профессиональный курс «Node.js. Профессиональная разработка REST API». Цена 12 000 ₽.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.