Способ использования выпадающего меню Bootstrap 4 для перехода между разделами - PullRequest
0 голосов
/ 08 октября 2019

Я видел несколько примеров начальной загрузки 3, где вы можете использовать dropdown для перехода между разделами. Я бы предпочел использовать bootstrap 4 в своем приложении. Я видел в документации по начальной загрузке, где вы можете иметь ссылки навигации по вкладкам, и когда вы нажимаете одну из них, этот раздел добавляет активный класс, а затем удаляет активный класс из предыдущего раздела. Я попытался использовать это для dropdown ссылок, и он добавляет активный класс в соответствующий раздел, но он не удаляет активный класс из предыдущего раздела. Есть что-то, чего мне не хватает? Имейте в виду, я не профессиональный программист, но это скорее мое хобби, и я пытаюсь сделать простое приложение, чтобы помочь мне в моей сфере деятельности. Вот пример того, на что я ссылаюсь, где он показывает раздел, но не удаляет активный класс из предыдущих разделов, что делает невозможным возврат к предыдущим разделам, если мне это нужно. Нужно ли добавить сюда функцию javascript или jquery, чтобы сделать это возможным? Любая помощь будет принята с благодарностью.

<!DOCTYPE html>
<html lang="en">

<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>

<body>

  <div class="container mt-3">
    <h2>Toggleable Tabs</h2>
    <br>
    <!-- Nav tabs -->
    <div class="dropdown">
      <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
    	Dropdown button
  	</button>
      <div class="dropdown-menu nav-tabs">
        <a class="nav-link active" data-toggle="tab" href="#home">Home</a>
        <a class="nav-link" data-toggle="tab" href="#menu1">Menu 1</a>
        <a class="nav-link" data-toggle="tab" href="#menu2">Menu 2</a>

      </div>
    </div>

    <!-- Tab panes -->
    <div class="tab-content">
      <div id="home" class="container tab-pane active"><br>
        <h3>HOME</h3>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
      </div>
      <div id="menu1" class="container tab-pane fade"><br>
        <h3>Menu 1</h3>
        <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
      </div>
      <div id="menu2" class="container tab-pane fade"><br>
        <h3>Menu 2</h3>
        <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p>
      </div>
    </div>
  </div>


</body>

</html>

1 Ответ

0 голосов
/ 08 октября 2019

Проблема возникает из-за того, что класс .active не очищается от tab. Согласно некоторым ответам ul используется для выбора элементов, однако вы используете <div>, поэтому вам нужно удалить класс .active при открытии вкладки, как показано ниже, или плагин с переопределенными вкладками

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  $(e.target).addClass('active').siblings().removeClass("active"); // activated tab
});

Рабочий образец: https://jsbin.com/cujewejezi/edit?html,js,output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...