<header>
  <h2 class="title">Цикл for</h2>
  <p class="description">Генерація чисел із фільтрацією парних і непарних значень</p>
</header>
<main>
  <div class="controls">
    <!-- Поле для введення числа -->
    <label for="max-number">Введіть максимальне число:</label>
    <input type="number" id="max-number" min="1" placeholder="Наприклад, 10">
    <button id="generate">Згенерувати</button>
  </div>
  <div class="result">
    <!-- Кнопки фільтрації -->
    <button id="filter-even">Показати парні</button>
    <button id="filter-odd">Показати непарні</button>
    <!-- Список чисел -->
    <ul id="number-list"></ul>
  </div>
</main>
body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

.controls {
  margin-bottom: 15px;
}

button {
  margin-right: 5px;
  padding: 5px 10px;
  font-size: 14px;
}

ul {
  list-style-type: none;
  padding: 0;
}

ul li {
  padding: 5px;
  border-bottom: 1px solid #ddd;
}
document.getElementById('generate').addEventListener('click', () => {
  const maxNumber = parseInt(document.getElementById('max-number').value, 10);
  const numberList = document.getElementById('number-list');

  // Очистка попереднього списку
  numberList.innerHTML = '';

  if (isNaN(maxNumber) || maxNumber < 1) {
    alert('Введіть коректне число!');
    return;
  }

  // Генерація списку чисел
  for (let i = 1; i <= maxNumber; i++) {
    const li = document.createElement('li');
    li.textContent = i;
    li.dataset.value = i;
    numberList.appendChild(li);
  }
});

// Фільтрація парних чисел
document.getElementById('filter-even').addEventListener('click', () => {
  filterNumbers(number => number % 2 === 0);
});

// Фільтрація непарних чисел
document.getElementById('filter-odd').addEventListener('click', () => {
  filterNumbers(number => number % 2 !== 0);
});

// Функція для фільтрації
function filterNumbers(condition) {
  const listItems = document.querySelectorAll('#number-list li');
  listItems.forEach(item => {
    const value = parseInt(item.dataset.value, 10);
    item.style.display = condition(value) ? 'list-item' : 'none';
  });
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.