Задать вопрос
@sunsexsurf
IT & creative

Как настроить JS-цикл в pagination?

Добрый день. имеем кусочек html-кода, описывающий пагинацию:
<div class="center_pag">
    <div class="pagination">
      <a href="#">&laquo;</a>
      <a href="/selected_year">2020</a>
      <a href="/selected_year">2019</a>
      <a href="/selected_year">2018</a>
      <a href="#">&raquo;</a>
    </div>
</div>


понимаю, что впечатывать каждый из годов руками - не есть хорошо.

получил тот список годов, который нужен:
<script>
    for (
        let CurrentYear = new Date().getFullYear();
         CurrentYear > 1991; CurrentYear--) {
        document.write(CurrentYear);
    }
</script>

напечатались года от текущего до 1991 (в строчку без пробелов, но пока норм), ок.

теперь проблема: получить pagination вида:
<div class="center_pag">
    <div class="pagination">
      <a href="#">&laquo;</a>
      <a href="/selected_year">2020</a>
      <a href="/selected_year">2019</a>
      <a href="/selected_year">2018</a>
      <a href="#">&raquo;</a>
    </div>
</div>

так, чтобы "стрелочки" вправо/влево перещелкивали года, полученные из скрипта

Подскажите, как это лучше сделать?
Спасибо.
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Простой 2 комментария
Решение пользователя Дмитрий К ответам на вопрос (1)
@dimoff66
Кратко о себе: Я есть
1. Собирать года в массив вам не нужно, достаточно пары переменных, чтобы хранить максимальный год и минимальный(maxYear и minYear), и переменной, например currentYear, которая будет хранить первый год для показа.

2. Создайте функцию, которая заполнит ваши ссылки с годами начиная с currentYear, заканчивая currentYear + 2

3. К ссылкам пагинации приделайте событие onclick, по которому вызывайте функцию, передавая ей параметр шага (-1 для лево, +1 для вправо, ну или большие шаги), эта функция поменяет значение currentYear и вызовет функцию заполнения.

Мне конечно же проще было бы написать код, но для вас будет лучше если вы решите хотя бы техническую часть задачи самостоятельно
Ответ написан