- Створено репозиторій
goit-js-hw-14. - Домашня робота містить два посилання: на вихідні файли і робочу сторінку на
GitHub Pagesта прикрiплений файл репозиторію у форматi zip. - Завдання виконані у точній відповідності до ТЗ (забороняється змінювати вихідний HTML завдання).
- В консолі відсутні помилки і попередження під час відкриття живої сторінки завдання.
- Імена змінних і функцій - зрозумілі та описові.
- Код відформатований за допомогою
Prettier.
У папці src знайдеш стартові файли з готовою розміткою і підключеними файлами скриптів для кожного завдання. Скопіюй їх собі у проект. Для цього завантаж цей репозиторій як архів або використовуй сервіс DownGit для завантаження окремої папки з репозиторія.
HTML містить список категорій ul#categories.
<ul id="categories">
<li class="item">
<h2>Animals</h2>
<ul>
<li>Cat</li>
<li>Hamster</li>
<li>Horse</li>
<li>Parrot</li>
</ul>
</li>
<li class="item">
<h2>Products</h2>
<ul>
<li>Bread</li>
<li>Prasley</li>
<li>Cheese</li>
</ul>
</li>
<li class="item">
<h2>Technologies</h2>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>React</li>
<li>Node.js</li>
</ul>
</li>
</ul>Напиши скрипт, який:
- Порахує і виведе в консоль кількість категорій в
ul#categories, тобто елементівli.item. - Для кожного элемента
li.itemу спикуul#categories, знайде і виведе в консоль текст заголовку елемента (тегу<h2>) і кількість елементів в категорії (усіх<li>, вкладених в нього).
В результаті, в консолі будуть виведені наступні повідомлення.
Number of categories: 3
Category: Animals
Elements: 4
Category: Products
Elements: 3
Category: Technologies
Elements: 5HTML містить порожній список ul#ingredients.
<ul id="ingredients"></ul>JavaScript містить масив рядків.
const ingredients = [
'Potatoes',
'Mushrooms',
'Garlic',
'Tomatos',
'Herbs',
'Condiments',
];Напиши скрипт, який для кожного елемента масиву ingredients:
- Створить окремий елемент
<li>. Обов'язково використовуй методdocument.createElement(). - Додасть назву інгредієнта як його текстовий вміст.
- Додасть елементу клас
item. - Після чого, вставить усі
<li>за одну операцію у списокul.ingredients.
Напиши скрипт для створення галереї зображень на підставі масиву даних. HTML
містить список ul.gallery.
<ul class="gallery"></ul>Використовуй масив об'єктів images для створення елементів <img>, вкладених
в <li>. Для створення розмітки використовуй шаблонні рядки і метод
insertAdjacentHTML().
- Усі елементи галереї повинні додаватися в DOM за одну операцію додавання.
- Додай мінімальне оформлення галереї флексбоксами або грідами через CSS класи.
const images = [
{
url: 'https://images.pexels.com/photos/140134/pexels-photo-140134.jpeg?dpr=2&h=750&w=1260',
alt: 'White and Black Long Fur Cat',
},
{
url: 'https://images.pexels.com/photos/213399/pexels-photo-213399.jpeg?dpr=2&h=750&w=1260',
alt: 'Orange and White Koi Fish Near Yellow Koi Fish',
},
{
url: 'https://images.pexels.com/photos/219943/pexels-photo-219943.jpeg?dpr=2&h=750&w=1260',
alt: 'Group of Horses Running',
},
];Лічильник складається зі спану і кнопок, які по кліку повинні збільшувати і зменшувати його значення на одиницю.
<div id="counter">
<button type="button" data-action="decrement">-1</button>
<span id="value">0</span>
<button type="button" data-action="increment">+1</button>
</div>- Створи змінну
counterValue, в якій буде зберігатися поточне значення лічильника та ініціалізуй її значенням0. - Додай слухачів кліків до кнопок, всередині яких збільшуй або зменшуй значення лічильника.
- Оновлюй інтерфейс новим значенням змінної
counterValue.
Напиши скрипт, який під час набору тексту в інпуті input#name-input (подія
input), підставляє його поточне значення в span#name-output. Якщо інпут
порожній, у спані повинен відображатися рядок "Anonymous".
<input type="text" id="name-input" placeholder="Please enter your name" />
<h1>Hello, <span id="name-output">Anonymous</span>!</h1>