JSFiddle - React, Tailwind, and code Playground

by bmarsh123

HTML

<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<nav class="navbar navbar-default" role="navigation">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">dropdown <b class="caret"></b></a>
          <ul class="dropdown-menu">
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li><a href="#">item</a></li>
            <li class="divider"></li>
            <li><a href="#">item</a></li>
          </ul>
        </li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

CSS

.navbar { margin-bottom: 10px; }

JavaScript

$(function() {
    $(window).resize(function() {
        adjustHeight();
    });
    $('.dropdown-toggle').click(function() {
        adjustHeight();
    });
    
    function adjustHeight() {
        var pageHeight = $(window).height(),
            dropdownHeight = $('.dropdown-menu').height(),
            top = $('.dropdown').offset().top;
        if (dropdownHeight > pageHeight) {
            $('.navbar-collapse.in').css({
                'max-height': pageHeight - top - 10,
                'height': pageHeight - top - 10
            });
        }
        $('.navbar-collapse.in').css({
            'height': 'auto'
        });
        
    }
});