Advertisement
Hasli4

JS. Усложненные задачи. Решения

Jun 12th, 2025
900
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. ## Решения
  3.  
  4. ```js
  5. // Задача 1: Счётчик кликов
  6. const ctrBtn = document.querySelector('#counter-btn');
  7. const ctrDisplay = document.querySelector('#counter');
  8. let count = 0;
  9. ctrBtn.addEventListener('click', function() {
  10.   count++;
  11.   ctrDisplay.textContent = count;
  12. });
  13.  
  14. // Задача 2: Список дел
  15. const todoInput = document.querySelector('#todo-input');
  16. const addBtn = document.querySelector('#add-btn');
  17. const todoList = document.querySelector('#todo-list');
  18. addBtn.addEventListener('click', function() {
  19.   const text = todoInput.value.trim();
  20.   todoInput.value = '';
  21.   if (!text) return;
  22.   const li = document.createElement('li');
  23.   li.textContent = text + ' ';
  24.   const del = document.createElement('button');
  25.   del.textContent = 'Удалить';
  26.   li.appendChild(del);
  27.   todoList.appendChild(li);
  28.   del.addEventListener('click', function() {
  29.     todoList.removeChild(li);
  30.   });
  31. });
  32.  
  33. // Задача 3: Галерея
  34. const mainImg = document.querySelector('#main-image');
  35. const thumbs = document.querySelectorAll('.thumb');
  36. thumbs.forEach(function(tn) {
  37.   tn.addEventListener('click', function() {
  38.     mainImg.src = tn.src;
  39.   });
  40. });
  41.  
  42. // Задача 4: Карточки
  43. const cards = document.querySelectorAll('.card');
  44. const countSpan = document.querySelector('#count');
  45. let selectedCount = 0;
  46. cards.forEach(function(c) {
  47.   c.addEventListener('click', function() {
  48.     if (c.classList.contains('selected')) {
  49.       c.classList.remove('selected');
  50.       c.style.backgroundColor = '';
  51.       selectedCount--;
  52.     } else {
  53.       c.classList.add('selected');
  54.       c.style.backgroundColor = 'lightblue';
  55.       selectedCount++;
  56.     }
  57.     countSpan.textContent = selectedCount;
  58.   });
  59. });
  60.  
  61. // Задача 5: Загрузка с задержкой
  62. const loadBtn = document.querySelector('#load');
  63. const content = document.querySelector('#content');
  64. loadBtn.addEventListener('click', function() {
  65.   content.textContent = 'Загрузка…';
  66.   setTimeout(function() {
  67.     content.textContent = 'Данные загружены';
  68.     const p = document.createElement('p');
  69.     p.textContent = 'Вот какие-то данные...';
  70.     content.appendChild(p);
  71.   }, 2000);
  72. });
  73. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement