- Теория
- Теория
Тринадцатая программа: «Мороженое. Возвращение»
Не успели вы доделать одну задачу, как Кекс пришёл с новой.
Мяу! Помнишь магазин мороженого? Нужно создать карточки товаров, основываясь на данных, полученных с сервера.
Данные — массив объектов
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
, элементы добавляются в конец родителя.
Для того чтобы собрать строку с ценой, используйте конкатенацию: цена + '₽/кг'
.
Когда всё будет готово, нажмите Заказчик, принимай программу!, чтобы показать работу Кексу.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.