Nucleaus video in Bootstrap modal

by thirdender

HTML

<script src="//code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://player.vimeo.com/api/player.js"></script>
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#videoModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="videoModal" tabindex="-1" role="dialog" aria-labelledby="videoModalTitle" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="sr-only" id="videoModalTitle">
        Why Nucleaus?
      </div>
      <div data-vimeo-id="375781382" data-vimeo-responsive="true" data-vimeo-controls="false" data-vimeo-loop="false" id="vimeoPlayer"></div>
    </div>
  </div>
</div>

CSS

#videoModal .modal-content {
  border: 0;
  background: none;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 4px 4px 40px black, 4px 4px 4px rgba(0, 0, 0, 0.3);
}

JavaScript

var player = new Vimeo.Player('vimeoPlayer');
// player.play();

jQuery('#videoModal').on('shown.bs.modal', function() {
	player.play();
});

jQuery('#videoModal').on('hidden.bs.modal', function() {
	player.pause();
  player.setCurrentTime(0);
});