Как сделать динамическое меню в bootstrap?

Пользователь

от ally , в категории: HTML/CSS , 6 месяцев назад

Как сделать динамическое меню в bootstrap?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от eudora , 6 месяцев назад

@ally 

Для создания динамического меню в Bootstrap вы можете использовать функциональность JavaScript и дополнительные классы Bootstrap.


Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Dynamic Bootstrap Menu</title>
  <!-- подключение стилей Bootstrap -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
  <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <a class="navbar-brand" href="#">Меню</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNav">
      <ul class="navbar-nav">
        <li class="nav-item active">
          <a class="nav-link" href="#">Главная</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">О нас</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Контакты</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Блог</a>
        </li>
      </ul>
    </div>
  </nav>

  <!-- подключение скриптов Bootstrap -->
  <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>


Вышеуказанный код создает стандартное статичное меню с помощью элементов <nav>, <ul>, <li> и <a> из Bootstrap.


Чтобы сделать его динамическим, вы можете использовать JavaScript для динамической генерации элементов меню на основе данных.


Пример кода JavaScript, который добавляет новые элементы меню:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
// Получаем контейнер для списка меню
var menuContainer = document.querySelector('.navbar-nav');

// Данные для динамического меню
var menuData = [
  { name: 'Ссылка 1', url: '#' },
  { name: 'Ссылка 2', url: '#' },
  { name: 'Ссылка 3', url: '#' }
];

// Динамически создаем элементы меню
menuData.forEach(function(item) {
  var listItem = document.createElement('li');
  listItem.classList.add('nav-item');
  var link = document.createElement('a');
  link.classList.add('nav-link');
  link.href = item.url;
  link.textContent = item.name;
  listItem.appendChild(link);
  menuContainer.appendChild(listItem);
});


Вы можете вызвать этот код после загрузки страницы или при получении данных с сервера.


Обратите внимание, что для использования JavaScript вам может потребоваться изменить классы или структуру элементов, чтобы обеспечить правильное функционирование вашего меню.