Как можно показать другое заданное количество элементов при нажатии на кнопку?

Как изменить отображаемое количество элементов массива при выборе номера страницы или вводе номера страницы в текстовое поле?
Изображение к вопросу
  • 18 октября 2023 г. 17:10
Ответы на вопрос 2
Для показа другого заданного количества элементов при нажатии на кнопку или при выборе/вводе номера страницы, вам потребуется использовать JavaScript и HTML.

Вот пример, который показывает, как это можно реализовать:

HTML:
```html
<div id="container">
  <!-- Здесь будет содержимое элементов массива -->
</div>

<button onclick="showElements()">Показать элементы</button>
<input type="number" id="pageInput" placeholder="Введите номер страницы">
<button onclick="changePage()">Перейти на страницу</button>
```

JavaScript:
```javascript
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Исходный массив элементов
var itemsPerPage = 3; // Количество элементов, которое нужно показывать на одной странице
var currentPage = 1; // Текущая страница

function showElements() {
  var container = document.getElementById("container");
  container.innerHTML = ""; // Очищаем контейнер от предыдущего содержимого

  var startIndex = (currentPage - 1) * itemsPerPage;
  var endIndex = startIndex + itemsPerPage;

  for (var i = startIndex; i < endIndex && i < array.length; i++) {
    var element = document.createElement("div");
    element.textContent = array[i];
    container.appendChild(element);
  }
}

function changePage() {
  var pageInput = document.getElementById("pageInput");
  var pageNumber = parseInt(pageInput.value);

  if (pageNumber >= 1 && pageNumber <= Math.ceil(array.length / itemsPerPage)) {
    currentPage = pageNumber;
    showElements();
  } else {
    alert("Недопустимый номер страницы!");
  }
}

showElements(); // Показываем элементы на первой странице при загрузке страницы
```

В этом примере мы имеем массив `array` с исходными элементами. При нажатии на кнопку "Показать элементы", функция `showElements()` вызывается, чтобы отобразить заданное количество элементов на текущей странице.

При нажатии на кнопку "Перейти на страницу" вызывается функция `changePage()`, которая проверяет введенный номер страницы и, если он является допустимым, то текущей страницей становится введенный номер, и вызывается функция `showElements()` для обновления отображаемых элементов.

При загрузке страницы также вызывается функция `showElements()`, чтобы показать элементы на первой странице.

Вы можете настроить `itemsPerPage` для изменения количества элементов, отображаемых на одной странице.
"Пагинация" это способ разделения большого списка на страницы. Так можно легко навигироваться по содержимому.

- Чтобы найти первый элемент в определенном диапазоне страницы, нужно умножить номер страницы на количество элементов на странице.
- Чтобы найти последний элемент в диапазоне страницы, нужно умножить следующий номер страницы на количество элементов на странице. 

Пример кода, демонстрирующий работу пагинации можно посмотреть здесь: [ссылка на пример кода](https://jsfiddle.net/8mr74bkg/)
Похожие вопросы