## Решения
```js
// Задача 1: Счётчик кликов
const ctrBtn = document.querySelector('#counter-btn');
const ctrDisplay = document.querySelector('#counter');
let count = 0;
ctrBtn.addEventListener('click', function() {
count++;
ctrDisplay.textContent = count;
});
// Задача 2: Список дел
const todoInput = document.querySelector('#todo-input');
const addBtn = document.querySelector('#add-btn');
const todoList = document.querySelector('#todo-list');
addBtn.addEventListener('click', function() {
const text = todoInput.value.trim();
todoInput.value = '';
if (!text) return;
const li = document.createElement('li');
li.textContent = text + ' ';
const del = document.createElement('button');
del.textContent = 'Удалить';
li.appendChild(del);
todoList.appendChild(li);
del.addEventListener('click', function() {
todoList.removeChild(li);
});
});
// Задача 3: Галерея
const mainImg = document.querySelector('#main-image');
const thumbs = document.querySelectorAll('.thumb');
thumbs.forEach(function(tn) {
tn.addEventListener('click', function() {
mainImg.src = tn.src;
});
});
// Задача 4: Карточки
const cards = document.querySelectorAll('.card');
const countSpan = document.querySelector('#count');
let selectedCount = 0;
cards.forEach(function(c) {
c.addEventListener('click', function() {
if (c.classList.contains('selected')) {
c.classList.remove('selected');
c.style.backgroundColor = '';
selectedCount--;
} else {
c.classList.add('selected');
c.style.backgroundColor = 'lightblue';
selectedCount++;
}
countSpan.textContent = selectedCount;
});
});
// Задача 5: Загрузка с задержкой
const loadBtn = document.querySelector('#load');
const content = document.querySelector('#content');
loadBtn.addEventListener('click', function() {
content.textContent = 'Загрузка...';
setTimeout(function() {
content.textContent = 'Данные загружены';
const p = document.createElement('p');
p.textContent = 'Вот какие-то данные...';
content.appendChild(p);
}, 2000);
});
```