0

I am creating a navbar using Bootstrap 4 where initially the logo (on left side) is hidden.

Only the navbar menu items will be displayed and on scroll, the logo will appear. So when the logo appears, I'm trying to enable a smooth slide animation effect of the menu items (left to right). Now since there's no transition, it simply goes to the right without any animation effect.

I'm unable to decide where to put the transition CSS on. :( Please help.

Code below (for simplicity I'm using a button instead of scroll effect) Also, view in 'full page' mode, else the small viewport will show the mobile version of the menu.

(function($) {
  $(document).ready(function() {
    $('#my-btn').click(function() {
      $('#my-navbar-logo').toggleClass('d-sm-none');
    });
  });
})(jQuery);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<title>Hello, world!</title>
</head>

<body>

  <div id="wrapper-navbar" class="sticky-top">

    <a class="skip-link sr-only sr-only-focusable" href="#content">Skip to content</a>

    <div class="container">

      <nav class="navbar navbar-expand-lg navbar-light bg-light">

        <!-- my logo-->
        <span id="my-navbar-logo" class="d-block d-sm-none"><a href="#" class="navbar-brand custom-logo-link"
                        rel="home"><img src="#" class="img-fluid" alt="my logo" width="170" height="35"></a></span>


        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>

        <div class="collapse navbar-collapse" id="navbarSupportedContent">
          <ul class="navbar-nav mr-auto">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                Dropdown
                            </a>
              <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                <a class="dropdown-item" href="#">Action</a>
                <a class="dropdown-item" href="#">Another action</a>
                <div class="dropdown-divider"></div>
                <a class="dropdown-item" href="#">Something else here</a>
              </div>
            </li>
            <li class="nav-item">
              <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
            </li>
          </ul>
          <form class="form-inline my-2 my-lg-0">
            <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
            <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
          </form>
        </div>
    </div>
    <!-- .container -->
    </nav>


  </div>

  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  <div class="mt-5 mx-5">
    <button id="my-btn" class="btn btn-primary">Click me</button>
  </div>
LittleLebowski
  • 7,691
  • 13
  • 47
  • 72

0 Answers0