@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>

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

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

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

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

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы